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




martes, 28 de septiembre de 2021

267 - Python (V) - Listas

 Sigamos hablando de fundamentos de python, ahora hablemos un poco de listas, que es una lista, es un conjunto de objetos

Por ejemplo un conjunto de colores

Colores - Verde, Amarillo, Rojo, Azul

NotasMusicales - Do,Re,Mi,Fa,Sol,La,Si,Do

En el mundo real todo son conjuntos, grupos de objetos, en el lenguaje de programación necesitamos hablar de elementos que nos den semejanza, en python esto lo logramos con listas.

numeros=[1,2,3,4,5]
print(numeros)
for numero in numeros:
    print(numero)

Analicemos este programa

lo primero que estamos haciendo es crear una lista, esta lista se guarda en una variable, si vemos el tipo de variable este sera:

<class,'list'>

el primer print nos permite ver la lista completa

[1,2,3,4,5]

El segundo elemento es muy interesante por que nos permite leer elemento a elemento de la lista, que es lo que le decimos "por cada numero en números, imprime numero"

1

2

3

4

5

La lista se puede formar por cualquier tipo de variable en python

Ahora bien tenemos que aprender nos métodos para trabajar con listas

Notas=['Do','Re','Mi']  #Notas Musicales
print(Notas)
#Agreguemos una nota mas
Notas.append('FA')
print(Notas)
Notas.append(['FA','SOL'])
print(Notas)
#¿Que paso aqui? Una lista dentro de otra?, asi es podemos agregar 
#una lista dentro de otra lista

#Borremos una nota
Notas.remove('Do')
print(Notas)

#En donde esta una nota
print(Notas.index('Re'))

#Cuantas veces tenemos un elemento
print(Notas.count('Mi'))

Coloque este código y jueguen con este elemento que es tan importante

Saludos del Alien


266 - Python (IV) Print - Input - Comentarios

 Pedir información al usuario algo básico para poder iniciar, como pedimos datos al usuario

Definamos una variable y llamemos a la función input

MiVariable = input()

print(MiVariable)

No solo eso podemos definir una pregunta para el usuario

Domicilio = input('¿Cual es tu domicilio?')

Con estas 2 instrucciones input y print podemos comunicarnos con el usuario

Bien ahora como programadores para poder iniciar nos falta conocer otras cosas, cuando estamos desarrollando nuestros códigos se llegan a olvidar a través del tiempo o cuando otra persona los le pueden llegar a ser ilegibles.

El tiempo no perdona y algo claro hoy mañana no puede ser, así es importante poner comentarios en nuestro código en python los comentarios se ponen con el simbolo #

#Esto es un comentario

v=10 #Vision

Busquen que sus variables sean restrictivas v no es un buen nombre de variable, esta variable no me dice nada, y me hace que pierda el código

Saludos desde un lugar del cosmos

sábado, 25 de septiembre de 2021

265. Python (III) Operadores de Asignacion

 Hoy hablaremos de los operadores de asignación, ¿Para que nos sirven? para asignar un valor a una variable.

¿Cuáles son?

=,+=,-=,*=,/=,**=,//=,%=

¿pero que significan?

a = 1      

Asigno una variable

a+=1

Incremento en 1 el valor de a

a-=1

Reduce en uno el valor de a

a*=1

Multiplica por uno el valor de a

a/=1

Divide entre 1 el valor de a

a**=2

Eleva a a la potencia 2

a//=2

Efectúa una división de enteros a/2

a%=2

a aplica el modulo 2

Es importante recordar que de la operación hecha el valor se guardara en la variable sobre la que operamos, en este caso a

264. Python (II) - Operadores aritmeticos

 Hola nuevamente a este curso de python, en esta segunda lección vamos ha hablar de operadores, ¿Qué son? los operadores son símbolos especiales que representan cálculos.

Los operadores son:

+, -, *, /,**,//,% es decir suma, resta, multiplicación, división, exponente, división entera y modulo


como los usamos, los usamos como usamos una calculadora

10+10

por ejemplo si escribimos

print(10+10)

obtendremos como resultado

10

Así pues las operaciones básicas son el inicio en un lenguaje que se caracteriza por ser primordial para el análisis de datos


Saludos desde un lugar del universo


viernes, 24 de septiembre de 2021

263. Python (I) - Variables

Variables

Como todo lenguaje de programación python tiene variables, pero que es lo interesante en python, que python la crea al momento en que nosotros la ejecutemos así nosotros asignamos de manera directa una variable en python

a=1

print(a)

obtendremos como respuesta 

1

aqui acabo de introducir la primera intruccion que veremos print, esta nos permite imprimir el valor de una variable

b="hola mundo"

print(b)

al ejecutar obtendremos

hola mundo

Sin embargo no todas las variables son iguales, cada variable es de un tipo, ¿Qué es un tipo? esto nos representa la información que podremos guardar en la variable, así tenemos números enteros, caracteres, cadenas etc.

usemos la siguiente instrucción

c=10

print(type(c))

nuestro resultado será

<class 'int'>


Saludos desde un lugar del universo

jueves, 16 de septiembre de 2021

262. Reiniciando

Tiene mucho tiempo que no escribo nada en el blog, se puede decir que la pandemia en vez de darme mas tiempo me ha dado menos, ha habido muchas cosas que se han dado, el blog tiene como objetivo ser un cuaderno de notas.

Este blog continuara siendo un blog en donde se den soluciones rápidas a problemas, pero se trabajaremos ahora sobre tutoriales, para aprender C#, R, Python y MQL5.

Además el canal ElAlienPrograma tendrá tutoriales de programación y configuración, el canal tendrá hoy su primer tutorial que es una serie de videos para enseñarnos a instalar Chamilo en una maquina virtual Linux Azure


El tiempo de programar ha llegado


Felices líneas

martes, 20 de abril de 2021

261. Reemplazar una cadena en un archivo en linux

 Algunas veces necesitamos reemplazar cadenas en archivos esto puede ser muy tedioso, una forma fácil de hacer esto es por medio de la instrucción sed, esta instrucción es muy poderosa ya que nos acepta patrones para especificar lo que queremos hacer.

en su forma mas sencilla es 


sed "s/palabra_A_remplazar/palabra_nueva/veces/" archivo > archivosalida

Ejemplo

sed "s/juan/pepe/" archivo > archivosalida

remplaza juan por pepe una vez en el archivo salida

sed "s/juan/pepe/5" archivo > archivosalida

remplaza juan por pepe las primeras 5 veces

sed "s/juan/pepe/g" archivo > archivosalida

remplaza juan por pepe todas las veces que aparesca


Felices líneas