miércoles, 13 de octubre de 2021

277 Python (XIV) - Actualizar pip

 Ya lo habiamos platicado, pip es la herramienta que se emplea para poder instalar los paquetes en python, bueno como todo paquete el tiempo pasa y es necesario actualizarlo, ¿como hacemos esto?

Es sencillo debemos ejecutar

pip install --upgrade pip

Esto nos actualizara la herramienta

Requirement already satisfied: pip in c:\program files\windowsapps\pythonsoftwarefoundation.python.3.9_3.9.2032.0_x64__qbz5n2kfra8p0\lib\site-packages (21.2.3)

Collecting pip

  Downloading pip-21.3-py3-none-any.whl (1.7 MB)

     |████████████████████████████████| 1.7 MB 1.7 MB/s

Installing collected packages: pip

  WARNING: The scripts pip.exe, pip3.9.exe and pip3.exe are installed in 'C:\Users\cmonr\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\Scripts' which is not on PATH.

  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.

Successfully installed pip-21.3

WARNING: You are using pip version 21.2.3; however, version 21.3 is available.

You should consider upgrading via the 'C:\Users\cmonr\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\python.exe -m pip install --upgrade pip' command.

Saludos desde un lugar del cosmos

lunes, 11 de octubre de 2021

276 - Python (XIII) - Analisis de sentimientos en español

¿Por que estoy tocando un tema mas avanzado?

Por algo muy sencillo, es necesario que vean la capacidad que tiene python para poder hacer análisis, la comunidad esta trabajando continuamente en el desarrollo de nuevas herramientas, así tenemos cientos de librerías para hacer una gran variedad de actividades.

El otro curso que se esta desarrollando en este blog es MQL5 que es un lenguaje para metatrader 5, para poder hacer forex, sin embargo, podemos no aprender MQL y aprender python, y con el también podemos hacer análisis, esto lo veremos un poco mas adelante.

Bueno que tenemos ¿Que hacer para poder hacer el analisis de un texto en español?

Primero debemos instalar la libreria para ello escribirems lo siguiente

pip install sentiment-analysis-spanish

____________________________________________________________

Collecting sentiment-analysis-spanish

  Downloading sentiment_analysis_spanish-0.0.25-py3-none-any.whl (30.0 MB)

     |████████████████████████████████| 30.0 MB ...

Installing collected packages: sentiment-analysis-spanish

Successfully installed sentiment-analysis-spanish-0.0.25

_____________________________________________________________

también necesitamos instalar keras y tensorflow

pip install keras tensorflow

pip install sklearn

Ahora si vamos a programas

from sentiment_analysis_spanish import sentiment_analysis
sentiment = sentiment_analysis.SentimentAnalysisSpanish()
print(sentiment.sentiment("Juan ganara la loteria"))
print(sentiment.sentiment("Creo que es legal, pero inmoral el que se den estas cosas."))

Como ven es un codigo muy pequeño, que hacemos, primero importamos sentiment_analisys:spanish de sentiment_analysis, esto para poder invocar las funciones de sentiment

Posterior a eso, inicializamos sentiment, para poder usar el análisis de sentimientos, e imprimimos el resultado de las cadenas que leemos, mientas mayor sea el valor obtenido y cercano a uno es mas positivo el sentimiento.

Al ejecutarlo obtenemos

0.4737554465528978

0.000600448021425963

Saludos desde un lugar del cosmos

275. Python (XII) - Diccionario (II)

 Continuemos con los diccionarios, estos tienen varias funciones que nos seran utiles mas adelante en el analisis de datos.

aula = dict(Alumno='Juan', Edad=22, Sexo='H')
aula['Edad'] = 8; # actualizando dato
aula['Profesor'] = "Juan Perez"; # Agregando un dato
print(aula)

{'Alumno': 'Juan', 'Edad': 8, 'Sexo': 'H', 'Profesor': 'Juan Perez'}

Como vemos 

aula['Edad'] = 8; # actualizando dato

Nos permite actualizar un dato del diccionario y si escribimos una clave que no se encuentra en el mismo, esta se agregara

aula['Profesor'] = "Juan Perez"; # Agregando un dato

del: Nos permite borrar un diccionario

del aula

Es importante por que debemos recordar que la memoria no es eterna.

Ahora podemos borrar únicamente una clave del diccionario, esto lo hacemos de la siguiente manera:

aula = dict(Alumno='Juan', Edad=22, Sexo='H')
print(aula)
del aula['Edad']
print(aula)

{'Alumno': 'Juan', 'Edad': 22, 'Sexo': 'H'}

{'Alumno': 'Juan', 'Sexo': 'H'}

Como pueden observar eliminamos la clave Edad del diccionario.

Saludos desde un lugar del cosmos


viernes, 8 de octubre de 2021

274. MQL (I)

 MQL5 es un lenguaje de programación que permite la creación de bots comerciales e indicadores técnicos, El lenguaje se emplea para construir estos bots sobre metatrader 5.

Es un lenguaje basado en C++, pero que incluye una gran cantidad de funciones para el análisis técnico de las señales del mercado.

El lenguaje se usa para poder hacer un análisis del mercado en FOREX, para ayudar a la toma de decisiones en el momento de hacer compras o ventas por medio de la creación de indicadores, pero también permite la construcción de bots que efectúen de manera automática dichas operaciones.

Metatrader 5 es una plataforma de FOREX y mercado de valores que nos permite entrar a el mundo de futuros como minoristas.

En este tutorial revisaremos el lenguaje para poder usarlo en la construcción de bots que permitan la inversión, no es un curso de FOREX, por lo que no se dará ninguna estrategia de inversión, es importante además mencionar que este tipo de inversiones son inversión de de muy alto riesgo y que el 75% de las personas que entran en este mercado pierde su dinero, por lo que ingresar es una decisión propia, y no debe ser hecha a la ligera.

Cualquier bot que se construya puede fallar, por que si bien el mercado tiene un comportamiento estadístico, también posee un comportamiento emocional


Saludos desde algún lugar del cosmos

273. Python (XI) - Diccionarios (I)

El diccionario un tipo de estructura de datos en python que nos permite almacenar valores en el modelo clave valor.

¿Cómo lo definimos?

Definiendo los pares que conforman el resultado por ejemplo:

persona = {'nombre':'Raquel','Edad':22'sexo':'F'}

algo interesante es que una lista puede estar dentro de un diccionario

persona = {'nombre':'Raquel','Edad':22'sexo':'F''gustos':['leer','escribir','cantar']}

y ¿como vemos la informacion?

persona = {'nombre':'Raquel','Edad':22'sexo':'F''gustos':['leer','escribir','cantar']}

print(persona['nombre'])
print(persona['Edad'])
print(persona['sexo'])
print(persona['gustos'])
print(persona['gustos'][1])
print(persona['gustos'][2])

El corchete nos permite acceder al elemento del diccionario, y el siguiente corchete al elemento de la lista.

Ahora veamos algunos comandos para usarlos con el diccionario.

Existen 2 formas para crear el diccionario la primera es la que vimos hace un momento 

persona = {'nombre':'Raquel','Edad':22'sexo':'F''gustos':['leer','escribir','cantar']}

colocando los datos entre corchetes y por medio de los dos puntos establecemos el valor, la segunda es usando dic

aula = dict(Alumno='Juan'Edad=22Sexo='H')
print(aula)

{'Alumno': 'Juan', 'Edad': 22, 'Sexo': 'H'}

items: genera una serie de tuplas clave - valor

aula = dict(Alumno='Juan'Edad=22Sexo='H')
print(aula.items())

get(): Busca un elemento desde su clave

aula = dict(Alumno='Juan', Edad=22, Sexo='H')
print(aula.get('Alumno'))

Juan

keys(): Obtiene la lista de claves del diccionario

aula = dict(Alumno='Juan', Edad=22, Sexo='H')
print(aula.keys())

dict_keys(['Alumno', 'Edad', 'Sexo'])

aula = dict(Alumno='Juan', Edad=22, Sexo='H')
print(aula.values())

dict_values(['Juan', 22, 'H'])

clear: Borra el diccionario

aula = dict(Alumno='Juan', Edad=22, Sexo='H')
aula.clear()
print(aula)

{}

Saludos desde un lugar del cosmo



martes, 5 de octubre de 2021

272. Python (X) - Ciclos while

 Continuemos revisando un poco de las características del lenguaje, antes de entrar en características mas avanzadas.

Como mencione en la lección anterior los programas siguen flujos para su ejecución dentro de la ejecución encontramos elementos que nos permiten generar ciclos, estos ciclos o repeticiones nos permiten interactuar entre los datos.

Esta vez hablaremos del elemento while

numero = 0
while numero < 10:
    print(numero)
    numero = numero + 1

mientas el numero sea menor ha 10 haz lo siguiente, así es como lo podemos definir del código, el ciclo se ejecutara en tanto se mantenga la condición

1

2

3

4

5

6

7

8

9

10

while True:
    numero = 10
    if numero : break
    print("hola")

ahora compliquemos un poco mas con un ciclo infinito

El código indica que siempre será verdadero el ciclo, esto nos permite mantener flujos permanentes, pero en este flujo lo importante es

    if numero : break

ahi indicamos que si se cumple la condición se rompa el ciclo, por ello ya no se ejecutara el print

Ahora si a partir de este punto empezaremos a complicar las cosas




viernes, 1 de octubre de 2021

271. Python (IX) - Ciclos for

 En una lección anterior vimos el for como instrucción para recorrer una lista, pero esta instrucción lo que nos permite es crear ciclos, es decir el código que se encuentre dentro del for se ejecuta un cierto numero de veces.

Hagamos un pequeño contador, veamos el siguiente código

for contador in range(10) :
    print (contador)

Esto nos hace un contador en un rango de 0 a 9 en donde obtendremos la siguiente salida

0

1

2

3

4

5

6

7

8

9

Range nos permite indicar de donde a donde haremos el conteo, este no necesariamente necesita iniciar en cero, por ejemplo

for contador in range(99,101) :
    print (contador)

La salida será

99

100

Recordemos de una lección anterior, podemos interactuar sobre una lista por ejemplo

numeros = [10840100225]
for numero in numeros:
     print(numero)

En el código anterior creamos una lista con los números 10, 8, 40, 100, 22, 5

Al hacer el ciclo va a iterar por cada uno de los números por lo que tenemos esta salida

10

8

40

100

22

5

Y si fueran cadenas

frutas = ['Pera''Manzana''Uva''Naranja''Fresa''Mango']
for fruta in frutas:
     print(fruta)

La salida sera

Pera

Manzana

Uva

Naranja

Fresa

Mango

Por ultimo veamos que pasa en un diccionario, trataremos diccionarios en la próxima lección.

alumnos = {'Juan':'niño''Raquel':'niña''Miguel':'niño''Jimena':'niña''Laura':'niña'}
for nombresexo in alumnos.items():
    print(nombre"es "sexo)

la interacción en un diccionario nos permite tomar pares de valores en el ciclo, la respuesta de este sera

Juan es  niño

Raquel es  niña

Miguel es  niño

Jimena es  niña

Laura es  niña

otra forma de hacer esto es

alumnos = {'Juan':'niño''Raquel':'niña''Miguel':'niño''Jimena':'niña''Laura':'niña'}
for alumno in alumnos:
    print (alumno'es 'alumnos[alumno])

En donde obtenemos el mismo resultado, como ven en este caso lo que hacemos es preguntar al diccionario el valor llave - valor

Juan es  niño

Raquel es  niña

Miguel es  niño

Jimena es  niña

Laura es  niña


Saludos del alien



jueves, 30 de septiembre de 2021

270. Python (VIII) Controlar errores

 Un programa es susceptible de errores, ¿Qué es un error? es una condición para la cual no estamos listos, es decir ocurrió algo en que el programa no sabe que hacer, y sin embargo debemos controlar el error.

¿Por que controlarlo?

Por que si no lo controlamos el programa se detendrá

Un error puede ser cualquier actividad que el programa no sepa como manejar, el control de errores nos permite evitar que el programa se detenga y rompa y se pueda tomar una acción

Veamos este ejemplo

try:
    x=10
    print(x)
    y=x/0
except:
    print('Error')

En el ejemplo la division entre 0 es la que daña el programa, en este caso si ejecutamos el programa sin try: except: obtenemos esto

x=10
print(x)
y=x/0


10

Traceback (most recent call last):

  File "e:\PruebasConcepto\Pg02.py", line 4, in <module>

    y=x/0

ZeroDivisionError: division by zero

El programa se detuvo y si había otras condiciones no continua, en cambio con la excepción continua funcionando ya que al ocurrir el error, entra en el flujo de excepción y continua posteriormente el flujo.


Saludos del Alien

269. Python (VII) - Flujos (if)

 Los programas son flujos, es decir por medio de variables nosotros indicamos que siga un flujo u otro un programa

Si yo soy hombre entonces.... y si soy mujer entonces...

Eso es un flujo una condicion que se aplica para que haga algo en especial.

#Inicialicemos un par de variables
x=1
if x>0:
    print ('x es positivo')
else :
    print ('x negativo')

Que leemos aqui

si x es mayor que cero, entonces es positivo, en caso contrario es negativo.

Esa es la sentencia if else, una de las mas importantes para crear flujos en nuestra aplicación.

x='Perro'
if x == 'Gato':
    print ('x es felino')
elif x == 'Pez' :
    print ('x marino')
elif x == 'Perro' :
    print ('x es canino')
else :
    print ('no se que es')

veamos la instruccion elif que es lo que dice, es un else if, en caso de que no sea la respuesta anterior, entonces prueba esa condicion

De este programa la respuesta es

x es canino

saludos del alien

miércoles, 29 de septiembre de 2021

268. Python (VI) Operadores booleanos

 La lógica booleana es importante para la programación, por que esta da un sentido a las operaciones que ocurren en los flujos.

Los flujos son controlados por estas instrucciones, esto permite definir las rutas que va a seguir durante el proceso.

Así tenemos los siguientes operadores de comparación

#Inicialicemos un par de variables
x=1
y=2
print(x==y)   #La variable 1 igual a la variable 2
print(x!=y)   # x es distinto de y
print(x>y)    # x es mayor que y
print(x<y)    # x es menor que y
print(x>=y)   # x es mayor o igual que y
print(x<=y)   # x es menor o igual que y
print(x is y# x es lo mismo que y
print(x is not y)  # x no es lo mismo que y

Si ejecutamos obtenemos esta salida 

python3.9.exe Pg02.py

False

True

False

True

False

True

False

True

Como pueden ver estas comparaciones nos ayudan a generar los flujos para que un programa funcione.

Ahora bien, podemos aumentar complejidad por medio de las instrucciones and(y) y or (o) esto nos permite que se de lo siguiente

and quiere decir que tanto el lado derecho como el lado izquierdo de la expresión se debe cumplir por ejemplo:

x=1
y=2
z=3
print(x<y and x<z)

si x es menor que y (1<2) y x menor a z (1<3) es verdadero

al ejecutarlo obtenemos un true.

Ahora que pasa con or indica que se puede cumplir un lado o otro de la expresión o ambos

x=1
y=2
z=3
print(x<y or x>z)

sustituyámoslo por números y letras

1 menor a 2 o 1 mayor a 3

podemos ver que la primera parte de la expresión se cumple pero la segunda no, por lo que la expresión es verdadera por que puede ser "o" la parte derecha o la parte izquierda de la ecuación

Saludos del Alíen