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
Pandas te sirve si quieres:
Y mucho mas...
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 [27]:
df= pd.DataFrame()
No nos sirve nada vacio, entonces agreguemos le informacion!
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,
Ojo! Si ponemos la variable de un dataframe al final de una celda no saldra una tabla con los datos, eah!
In [28]:
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[28]:
In [29]:
df.describe()
Out[29]:
pero talvez solo queramos estadisticas de Pastor, entonces seria:
In [30]:
df['Pastor'].describe()
Out[30]:
o talvez solo nos interese del Lunes:
Ojo! Tenemos que usar .ix para seleccionar un renglon
In [31]:
df.ix['Lunes']
Out[31]:
In [32]:
df.boxplot()
print("== Boxplot ==")
In [33]:
df['Tacos Total']=df['Pastor']+df['Tripas']
df
Out[33]:
In [34]:
df=df.drop("Tripas",axis=1)
df
Out[34]:
In [ ]:
df.to_excel("Tacos.xlsx")
In [ ]:
df=pd.from_excel("Tacos.xlsx")
Aveces los datos que queremos se encuentran en el internet. Asumiendo que se encuentran ordenados y en un formato amigable siempre los podemos bajar y guardar como un DataFrame.
Gapminder es una pagina con mas de 500 conjunto de daatos relacionado a indicadores globales como ingresos, producto interno bruto (PIB=GDP) y esperanza de vida.
Aqui bajamos la base de datos de esperanza de vida, lo guardamos en memoria y lo lodeamos como un excel:
Ojo! Aqui usamos .head() para imprimir los primeros 5 renglones del dataframe pues son gigantescos los datos.
In [2]:
xurl="http://spreadsheets.google.com/pub?key=phAwcNAVuyj2tPLxKvvnNPA&output=xls"
df=pd.read_excel(xurl)
print("Tamano completo es %s"%str(df.shape))
df.head()
Out[2]:
Head nos permite darle un vistazo a los datos... asi a puro ojo vemos que las columnas son anios y los renglones los paises...ponder reversar esto con transpose, pero tambien vemos que esta con indices enumerados, prefeririamos que los indices fueran los paises, entonces los cambiamos y tiramos la columna que ya no sirve...al final un head para ver que todo esta bien... a este juego de limpiar y arreglar datos se llama "Data Wrangling"
In [3]:
df.index=df['Life expectancy at birth']
df=df.drop('Life expectancy at birth',axis=1)
df=df.transpose()
df.head()
Out[3]:
Entonces ahora podemos ver la calidad de vida en Mexico atravez del tiempo:
In [5]:
df['Mexico'].plot()
print("== Esperanza de Vida en Mexico ==")
de esta visualizacion vemos que la caldiad ha ido subiendo apartir de 1900, ademas vemos mucho movimiento entre 1890 y 1950, justo cuando habia muchas guerras en Mexico.
Tambien podemos seleccionar un rango selecto de años, vemos que este rango es interesante entonces
In [16]:
subdf=df[ df.index >= 1890 ]
subdf=subdf[ subdf.index <= 1955 ]
subdf['Mexico'].plot()
print("== Esperanza de Vida en Mexico entre 1890 y 1955 ==")
Tambien es importante ver como esto se compara con otros paises, podemos comparar con Norteamerica:
In [18]:
df[['Mexico','United States','Canada']].plot()
print("== Esperanza de Vida en Norte-America ==")
In [ ]: