Entradas

Mostrando las entradas de septiembre, 2018

Análisis de Datos en Python.

Imagen
Pandas: Pasos: 1) Guardar el archivo para hacer el análisis de datos en la misma carpeta donde elaboro mi programa. 2) Importar el módulo de Pandas para acceder a todas sus funciones y matplotlib para graficar. 3) Leer el archivo 4) Definir las columnas 5) Plotear las columnas con el color y tipo 6) Poner las etiquetas en los ejes.  Ejemplo: #Manejo de datos con Python import pandas as pd #Importar la libreria de panda from matplotlib import pyplot as plt #Importar la libreria para graficar """Leer el archivo ignorando el encabezado y diciendo cual es el separador de las columnas""" data=pd.read_csv('Encuesta.csv', header=0, delimiter=',') x=data.ix[:,0] #primer columna y=data.ix[:,1] #segunda columna print(data)#Imprimes todo el documento print(x)#Imprimes la columna 1 que le agregamos al eje x print(y)#Imprimes la columna 2 que le agregamos al eje y plt.plot(x,y,'ro')#Plotear los ejes x e y de color rojo y pu

try y manejo de errores en python

Cuando sucede un problema que tal vez no lo esperamos debido a que el usuario puede ingresar otro tipo de información, se utiliza el try, así mismo con la palabra reservada raise puedes personalizar tus propios errores: def area_tri(base, altura):     if base <=0 or altura <=0:         raise ValueError('Debes ingesar valores mayores a cero')#Crea un tipo de error nuevo         return (base*altura)/0 Salida por consola:  area_tri(-1,9) Traceback (most recent call last):   File "<ipython-input-2-38fe634892d5>", line 1, in <module>     area_tri(-1,9)   File "<ipython-input-1-a4c6311ebd55>", line 3, in area_tri     raise ValueError('Debes ingesar valores mayores a cero')#Crea un tipo de error nuevo ValueError: Debes ingresar valores mayores a cero En este caso el usuario ingresó valores negativos o menores a 0 y el mensaje personalizado fue: Debes ingresar valores mayores a cero try: base = float(input(&#

PEP 8 en Python

Imagen
Muchas veces es necesario programar según los estándares de sintaxis de cada lenguaje de programación, Python te ayuda con esto mediante el menú herramientas, clic en preferencias de Spyder (anaconda), luego clic en editor, clic en análisis e introspección de código , activar la casilla que dice Análisis de estilo del código en el Editor , en inglés sería Real-time code style analysis (Refer to the PEP8 page) De esta manera se mostraran en el editor de Python sugerencias para escribir el código en base a los estándares establecidos. Si deseas en ese mismo apartado puedes seguir la página oficial de Python sobre PEP 8 - Guía de estilo para el código Python En donde puedes hallar mas sugerencias y así convertirte en un Pythonero.

Desempacar y Tuples en Python

Imagen
Desempacar en Python Las tuplas (al igual que las listas) se desempaquetan con el operador "*" (cuidado con **, que es otra cosa totalmente distinta). En tu ejemplo, simplemente debes hacer: lista=['a','b','c','d'] print(*lista) >> a b c d Tuplas: Al igual que las cadenas no permiten modificar sus elementos,  Una tupla es una lista inmutable. Una tupla no puede modificarse de ningún modo después de su creación.  t = ("a", "b", "mpilgrim", "z", "example") t Out[152]: ('a', 'b', 'mpilgrim', 'z', 'example') En la memoria nos indica que es de tipo tuple y tamaño 5: t[0] Out[153]: 'a' t[-1] Out[154]: 'example' t[2:4] Out[155]: ('mpilgrim', 'z') Las tuplas no tienen métodos >>> t ('a', 'b', 'mpilgrim', 'z', 'example') >>> t.append(

Funciones en Python

Imagen
Sintaxis: def nombre_funcion(argumentos): instrucciones return nombre_funcion#se utiliza para números Ejemplo: def print_name():     print('Jhon') En consola se escribe la función seguido de enter: >>print_name() >>Jhon Ingresando los argumentos: def print_name2(name):     print(f'Mi nombre es {name}') Escribir en consola: >>print_name2("Kary") >>Mi nombre es Kary Funciones de cálculo:   import math #Siempre el import va al inicio del programa  def area_circulo(radio):     area=math.pi*radio     return area >>area_circulo(5) Out[122]: 15.707963267948966 import math def cal_hipotenusa(a,b):     return math.sqrt(a**2+b**2) >>cal_hipotenusa(3,5) Out[124]: 5.830951894845301 Cambiar localmente una variable:  x=50 def func(x):     print(f'x: {x}')     x=2 print('x cambiada localmente',x) x cambiada localmente 50 func(6) x: 6 Y en memoria sigue siendo 50 Diferencias

Strip, Split y Join en Python

Imagen
Strip: El método strip () devuelve una copia de la cadena con los caracteres iniciales y finales eliminados (en función del argumento de cadena pasado). Ejemplo: variable='hola 3       ' variable.strip() Out[158]: 'hola 3' Como observamos luego del 3 existen varios espacios que son eliminados con strip. variable='      hola 3    ' variable.strip() Out[159]: 'hola 3'#quita los espacios al inicio y al final Join: Transforma las listas en cadenas: paises = [ 'Argentina', 'Uruguay', 'Chile', 'Paraguay', 'Brasil', 'Bolivia' ] paisesString = ",".join(paises) >>Argentina,Uruguay,Chile,Paraguay,Brasil,Bolivia Si se desea otro tipo de separador de listas: paises = [ 'Argentina', 'Uruguay', 'Chile', 'Paraguay', 'Brasil', 'Bolivia' ] paisesString = "/".join(paises) print(paisesString) >>Argentina/Uruguay/Chile/Paraguay

Arreglos y vectores ==> Listas en Python

Imagen
Definir una lista: lista=['a',1,'b',2,'c',3,'d',4,'e'] lista >>Out[5]: ['a', 1, 'b', 2, 'c', 3, 'd', 4, 'e'] En una lista se empieza a contar desde el 0, por ejemplo en el anterior ejercicio se empieza desde 0 hasta el 8. Out[5]: ['a', 1, 'b', 2, 'c', 3, 'd', 4, 'e'] lista[3] Out[6]: 2 #nos indica que el 2 esta en la posición 3. Extend = añade valores o caracteres al lado derecho. P.E. a=[8,9] a Out[12]: [8, 9] a.extend([10,11]) a Out[14]: [8, 9, 10, 11] ITERAR: items=[1,2,3,4,5] for item in items: print(item) MUESTRA EN PANTALLA:  1 2 3 4 5 MUESTRA LAS VARIABLES EN MEMORIA: NOTA: items se pone con s al final como plural y se itera en singular.  Otro ejemplo: items=[1,2,3,4,5] for item in items[1:]: #Empieza desde la posición 1      print(item) 2 3 4 5 items=[1,2,3,4,5] text ='' for item in items[1:]:

Lazos, ciclos, bucles en Python

While i <=5:      instrucciones else:      instrucciones Break=Romper el lazo de repetición Nota: No es muy recomendable escribir en una sola línea las variables pero en Python sería así: x=0; suma=0 Continue=cuando se cumple una condición if x==0:      continue Ejercicio: #Ejercicio Central Hidroeléctrica alarm = False shut_down = False while True: flow =float(input('Ingrese  Caudal  ')) if flow >500 and flow <1000: alarm=True print(' Caudal  bajo') elif flow >=0 and flow <=500 : alarm=True shut_down=True print ('Parada por  caudal  bajo') break else: alarm=False print('Operacion Normal') print(f'Alarma: {alarm}') Ciclo for #Ciclo for for x in range(2, 10): #empieza en 2 hasta el 10 y "x" es la variable print(x) for x in range(10): if x is 1: continue if x>5: break print(x) Consulta: ¿Cuál es la diferencia entre el X==1 y el X is 1?

Condicionales en Python

if x < 0:     (Sangria) Operación verdadera elif x%2==0:      (Sangria)Valor por verdadero falso else:      (Sangria) Valor por falso Las sangrias son importantes ya que en muchos casos se da errores de indentación. P.E. if cargo > 0 and cargo < 500: #evito los números negativos. Ejercicio: Tipo = str(input("Ingrese N para transporte Nacional o I para transporte Internacional ")) Carga = float(input("Ingrese la carga ")) if Tipo.upper()=="N" and Carga < 500: costo =1000 print(f"Costo es: {costo:.2f} Dolares")#corregir para los otros el costo elif Tipo.upper()=="N" and Carga > 500 and Carga <=5000: print("Costo es: 2000") elif Tipo.upper()=="N" and Carga > 5000: print("Costo es: 3500")  if Tipo.upper()=="I" and Carga < 500: print("Costo es: 1500") elif Tipo.upper()=="I" and Carga > 500 and Carga <=5000: print("Co

Trabajar con cadenas y numeros en Python

Para concatenar texto se utiliza + upper = cambia a mayúsculas lower = cambia a minúsculas round (4,567) >>5 abs(-37) >>37 6%7 residuo >>6 24//7 parte entera de la división >>3 srt.format()

Comandos Python

Imprimir en pantalla Print: c=9 print(c) 9 print("Hola") Hola d=10 print("Volumen ",d) Volumen  10 Ingreso de datos Input: input("Ingrese su nombre ") Ingrese su nombre Jhon Out[25]: 'Jhon'  Ojo se ingresa como String y se debe cambiar a enteros o decimales en el caso de que sea número. otros comandos: int() = numeros enteros float()=numeros decimales str()=cadenas de caracteres type()=saber el tipo de dato Import ()=importar librerias round()= abs()=números absolutos **=Potencia o se puede utilizar pow(base,potencia) //=Sacar el número entero de una división %=Sacar el residuo de una división Formato de texto:  str.format()= Para colocar los decimales: print("Area={: 5 . 2f }".format(area_circulo)) Aqui estamos agregando 5 espacios luego de la palabra Area= y estamos trabajando con 2 decimales de coma flotante. Otra forma: (Se puede operar la variable dentro de {}) x=10 print(f' x={x}; 1/

Python

Imagen
Python es un lenguaje de alto nivel Para utilizarlo debes instalar Anaconda del sitio: https://anaconda.org/anaconda/python Anaconda es un conjunto de aplicaciones y librerías el cual posee el IDE Spyder 3 que permite escribir el código de Python. Ofrece librerias gratuitas a diferencia de Matlab y MathCad que son de pago. Es un lenguaje interpretativo, no necesita un compilador. Orientado a objetos. Gratuito Facil aprendizaje Lenguaje limpio y de fácil lectura Librerías estables para uso científico El código de Python se puede compartir Compatibilidad con librerías de terceros La única desventaja frente a MatLab es que este posee Simulink el cual aún no tiene competencia. Es recomendable tener una libreta virtual de apuntes como EverNote: https://evernote.com/intl/es Pantalla principal de Anaconda: Home= Visualizas e instalas nuevos paquetes Environments= Aqui instalas las librerias de anaconda, puedes activarlas o desactivarlas, realizar actualizaciones. P.E. Aña