Naps Tecnología y educación

Pandas en Python: lo que debes saber para comenzar

Aprende a utilizar las funciones básicas de Pandas en Python: read_csv, shape, dtypes, describe, mean, info, rename, head, tabulate, tail, sample, index, loc, set_index, columns, drop, value_counts y qcut.

Éste artículo está disponible explicado en video. Búscalo aquí: https://youtu.be/JdEJUzLcMus

Instalación de Pandas

Desde una ventana de terminal ejecuta el siguiente comando:

pip install pandas

Importar la librería de Pandas en Python

Procedemos a importar la librería de Pandas en Python y opcionalmente tabulate si deseamos dar otra apariencia a la salida en consola.

import pandas as pd
from tabulate import tabulate

Cargar el archivo de datos

Podemos utilizar un archivo de datos CSV para su manejo y análisis. Si deseas el que utilizamos de ejemplo, te dejo el enlace para su descarga:

https://drive.google.com/file/d/1i5s30GCPTqg07N4JU7T2l0Uu6lY7LU_z/view?usp=sharing

El archivo anterior contiene información sobre los votos obtenidos en las elecciones primarias de estados unidos. Para abrirlo, el código es:

df = pd.read_csv("votos.csv")

Dimensión del dataset (conjunto de datos)

Para ver el tamaño (filas y columnas) del conjunto de datos que estamos usando, escribimos:

print ("Dimensiones: " , df.shape)

Ver qué tipos de datos interpreta Pandas

Podemos ver las columnas de nuestro dataset y cómo las interpretó Pandas en Python, es decir, qué tipo de datos le asignó a cada una.

print ("Tipos de datos")
print (df.dtypes)

Información estadística de nuestro dataset

Podemos ver cuántos datos, la media, la desviación estándar, el valor mínimo y máximo de nuestro dataset utilizando:

print ("Datos estadísticos")
print (df.describe())

Renombrar columnas en Pandas

Podemos renombrar las columnas que deseemos. Un ejemplo es:

df = df.rename(columns={
	"state_abbreviation": "ab",
	"fraction_votes": "%v"
	})

 Visualizar muestras en Pandas

En el código a continuación vemos cómo mostrar las primeras filas de nuestro dataset, las últimas, y filas aleatorias. Esto nos servirá para tener una muestra de datos para consultar. También utilizamos tabulate para darle otra apariencia a la salida. La instrucción headers=”keys” permite que se muestren como encabezados los nombres de las columnas.

primeras = df.head(3)
print ("Primeras filas")
print (tabulate(primeras, headers='keys'))

ultimas = df.tail()
print ("Ultimas filas")
print (tabulate(ultimas, headers='keys'))

muestrax = df.sample(6)
print ("Muestra aleatoria")
print (tabulate(muestrax, headers='keys'))

Índices

Código:

print (df.index)
print (df.loc[0])

df2 = df.set_index("county")
primeras2 = df2.head(2)
print (tabulate(primeras2, headers='keys'))

print (df2.index)
print (df2.loc["Los Angeles"])

Aquí visualizamos el índice con df.index. Vemos que obtiene un índice numérico asignando a cada fila un valor consecutivo. Podemos utilizar ese valor para acceder a una fila. (df.loc[0]). También es posible cambiar el índice de un dataframe. Lo conseguimos con set_index.  Al escribir set_index(county) le indicamos que queremos que county (condado) sea el nuevo índice. Si visualizamos ése índice (df2.index) nos devolverá una lista de etiquetas con los nombres de los condados. Si ahora utilizamos loc[“Los Angeles”] nos devolverá todas las filas asociadas a ése índice.

Eliminar columnas

Hay dos formas de eliminar columnas y ambas utilizan el método drop. La primera sería:

df = df.drop('%v',1) #0 filas, 1 columnas

Aquí se elimina la fila y se reasigna el dataframe a éste nuevo estado.

Podemos utilizar:

df.drop('%v',1,inplace=True)

Que no necesita la asignación porque utiliza el parámetro inplace para indicarle que lo haga sobre sí mismo.

Contar valores

Si deseáramos ver cuántas veces aparece un valor (por ejemplo, el nombre de un candidato) en el dataset, podemos utilizar value_counts.

contador = df.candidate.value_counts(sort=True)
print (contador)
print ("El mas común es: ", str(contador[0]))
print (contador.keys()[0])

El código anterior nos muestra una lista ordenada de mayor a menor de todos los candidatos, y a la derecha el valor de cuántas veces fue encontrado. Podemos acceder a un valor de esa lista con su valor de índice. Y si deseamos el nombre de la clave (en éste caso el nombre del candidato) utilizamos el método keys y le pasamos el valor del índice que queremos.

Qcut

Ésta función la podemos utilizar para ‘discretizar’ una variable. Por ejemplo, deseamos agregar una columna que contenga:
“Muy pocos”, “Pocos”, “Considerable”, “Muchos”

De acuerdo a los votos obtenidos.

Lo haríamos de ésta forma:

clasificacion = ["Muy pocos", "Pocos", "Considerable", "Muchos"]
df["Clasif"] = pd.qcut(df["votes"], 4 , clasificacion)
print (tabulate(df.sample(5), headers='keys'))

Primero ponemos las etiquetas en una lista. Luego usamos el método qcut para separar en 4 grupos la columna votes. Se asignará el valor correspondiente de la lista clasificación a la columan Clasif.

 

Éste artículo también está disponible en video. Te lo dejo a continuación.

¿Qué te pareció este artículo?
  • Poco informativo ()
  • No era lo que buscaba ()
  • Regular ()
  • Interesante ()
  • Excelente ()
(Visto 2.435 veces)

Tu comentario

opiniones