Hola Pandas!

Pandas = Manejo de informacion facil!

Que es pandas?

Pandas es un libreria de alto rendimiento, facil de usar para manejar estructuras de datos y analizarlas.

Checate mas en :

Para usar pandas, solo tiene que importar el modulo ..tambien te conviene importar numpy y matplotlib..juega n muy bien con pandas


In [1]:
import pandas as pd
import numpy as np # modulo de computo numerico
import matplotlib.pyplot as plt # modulo de graficas
# esta linea hace que las graficas salgan en el notebook
%matplotlib inline

Y yo para que quiero eso? De que sirve pandas?

Pandas te sirve si quieres:

  • Trabajar con datos de manera facil.
  • Explorar un conjunto de datos de manera rapida, enterder los datos que tienes.
  • Facilmente manipular informacion, por ejemplo sacar estadisticas.
  • Graficas patrones y distribuciones de datos.
  • Trabajar con Exceles, base de datos, sin tener que suar esas herramientas.

Y mucho mas...

El DataFrame en Pandas

Una estructura de datos en Pandas se llama un DataFrame, con el manejamos todos los datos y aplicamos tranformaciones.

Asi creamos un DataFrame vacio:


In [2]:
df= pd.DataFrame()

No nos sirve nada vacio, entonces agreguemos le informacion!

LLenando informacion con un Dataframe

Situacion:

Suponte que eres un taquero y quieres hacer un dataframe de cuantos tacos vendes en una semana igual y para ver que tacos son mas populares y echarle mas ganas en ellos,

Asumiremos:

  • Que vende tacos de Pastor, Tripa y Chorizo
  • Hay 7 dias en una semana de Lunes a Domingo (obvio)
  • Crearemos el numero de tacos como numeros enteros aleatorios (np.random.randint)

Ojo! Si ponemos la variable de un dataframe al final de una celda no saldra una tabla con los datos, eah!


In [3]:
df['Pastor']=np.random.randint(100, size=7)
df['Tripas']=np.random.randint(100, size=7)
df['Chorizo']=np.random.randint(100, size=7)

df.index=['Lunes','Martes','Miercoles','Jueves','Viernes','Sabado','Domingo']
df


Out[3]:
Pastor Tripas Chorizo
Lunes 65 76 96
Martes 26 33 80
Miercoles 87 47 83
Jueves 86 91 27
Viernes 7 7 51
Sabado 20 13 42
Domingo 63 78 2

Jugando con el Dataframe!

Estadisticas

Ya con teniendo un dataframe podemos hacer muchas cosas, por ejemplo sacar estadisticas, de medias, desviaciones estandares, cuantos elementos:


In [4]:
df.describe()


Out[4]:
Pastor Tripas Chorizo
count 7.000000 7.000000 7.000000
mean 50.571429 49.285714 54.428571
std 32.613173 33.300222 33.827292
min 7.000000 7.000000 2.000000
25% 23.000000 23.000000 34.500000
50% 63.000000 47.000000 51.000000
75% 75.500000 77.000000 81.500000
max 87.000000 91.000000 96.000000

pero talvez solo queramos estadisticas de Pastor, entonces seria:


In [5]:
df['Pastor'].describe()


Out[5]:
count     7.000000
mean     50.571429
std      32.613173
min       7.000000
25%      23.000000
50%      63.000000
75%      75.500000
max      87.000000
Name: Pastor, dtype: float64

o talvez solo nos interese del Lunes:

Ojo! Tenemos que usar .ix para seleccionar un renglon


In [6]:
df.ix['Lunes']


Out[6]:
Pastor     65
Tripas     76
Chorizo    96
Name: Lunes, dtype: int64

Grafica de cajas 'Boxplot'

Un boxplot nos da mucha informacion:

  • Cada caja esta centrada en la mediana
  • Tiene de alto la desviacion estandar entonces nos dice donde se encuentra el 60% de los datos.
  • Tiene los minimos y maximos de cada dato.

In [8]:
df.boxplot()
plt.title("Boxplot")
plt.show()


Combinando columnas

Que tal si queremos saber cuantos tacos vendimos en total? Pues solamente sumamos las columnas:


In [9]:
df['Tacos Total']=df['Pastor']+df['Tripas']
df


Out[9]:
Pastor Tripas Chorizo Tacos Total
Lunes 65 76 96 141
Martes 26 33 80 59
Miercoles 87 47 83 134
Jueves 86 91 27 177
Viernes 7 7 51 14
Sabado 20 13 42 33
Domingo 63 78 2 141

Borrando columnas

Aveces simplemente queremos reducir el numero de datos, entonces podemos usar el drop:


In [10]:
df=df.drop("Tripas",axis=1)
df


Out[10]:
Pastor Chorizo Tacos Total
Lunes 65 96 141
Martes 26 80 59
Miercoles 87 83 134
Jueves 86 27 177
Viernes 7 51 14
Sabado 20 42 33
Domingo 63 2 141

Exportando a otro formato

Aveces queremos guardar nuestros datos (excel, csv, sql database, pickle, json) , por ejemplo a un excel:


In [11]:
df.to_csv("Tacos.csv")

Leyendo un DataFrame de otro formato

O alrevez, queremos crear un dataframe apartir de un archivo:


In [13]:
df=pd.read_csv("Tacos.csv")

Ejercicios:

  • Inventa un Dataframe de tu propio negocio, que quieres vender? Usa numeros aleatorios.
  • Saca estadisticas de cada columna.
  • Crea una nueva columna que toma en cuenta la otra informacion. (Promedio, etc..)