Skip to content

Hoja de Referencia de Pandas

Guía detallada para usar la biblioteca Pandas.

Instalación de Pandas

Comando Descripción
conda install pandas La mejor manera de obtener pandas es a través de conda
python3 -m pip install --upgrade pandas A través de PyPI
pip install pandas Instalación estándar de pip

Abreviaturas Clave e Importación de Paquetes

Abreviatura Descripción
df Cualquier objeto DataFrame de Pandas
s Cualquier objeto Series de Pandas

Métodos de Importación

Comando Descripción
import pandas as pd Importar pandas con el alias pd
import numpy as np Importar numpy con el alias np

Selección de Datos

Comando Descripción
df[col] Devuelve una columna como una Series basada en el nombre de la columna
df[[col1, col2]] Devuelve múltiples columnas como un DataFrame
s.iloc[0] Seleccionar datos por posición
s.loc['index_one'] Seleccionar datos por índice
df.iloc[0,:] Devuelve la primera fila
df.iloc[0,0] Devuelve el primer elemento de la primera columna

Limpieza de Datos

Comando Descripción
df.columns = ['a','b','c'] Renombrar columnas
pd.isnull() Verificar valores nulos en un DataFrame; devuelve una matriz Booleana
pd.notnull() Verificar valores no nulos en un DataFrame; devuelve una matriz Booleana
df.dropna() Eliminar todas las filas que contienen valores nulos
df.dropna(axis=1) Eliminar todas las columnas que contienen valores nulos
df.dropna(axis=1, thresh=n) Eliminar todas las filas con menos de n valores no nulos
df.fillna(x) Reemplazar todos los valores nulos en un DataFrame con x
s.astype(float) Convertir el tipo de datos de la Series a float
s.replace(1, 'one') Reemplazar todos los valores iguales a 1 con ‘one’
s.replace([1,3], ['one', 'three']) Reemplazar 1 con ‘one’ y 3 con ’three’
df.rename(columns=lambda x: x + 1) Renombrar columnas en lote
df.rename(columns={'old_name': 'new_name'}) Renombrar selectivamente las columnas
df.set_index('column_one') Cambiar la columna de índice
df.rename(index=lambda x: x + 1) Renombrar índices en lote

Importación de Datos

Comando Descripción
pd.read_csv(filename) Importar datos desde un archivo CSV
pd.read_table(filename) Importar datos desde un archivo de texto delimitado
pd.read_excel(filename) Importar datos desde un archivo Excel
pd.read_sql(query, connection_object) Importar datos desde una tabla/base de datos SQL
pd.read_json(json_string) Importar datos desde una cadena JSON
pd.read_html(url) Extraer tablas de una URL, cadena o archivo HTML
pd.read_clipboard() Obtener contenido del portapapeles y pasarlo a read_table()
pd.DataFrame(dict) Importar datos desde un diccionario (las claves son nombres de columnas, los valores son datos)

Exportación de Datos

Comando Descripción
df.to_csv(filename) Exportar datos a un archivo CSV
df.to_excel(filename) Exportar datos a un archivo Excel
df.to_sql(table_name, connection_object) Exportar datos a una tabla SQL
df.to_json(filename) Exportar datos a un archivo de texto en formato JSON

Procesamiento de Datos: Filter, Sort y GroupBy

Comando Descripción
df[df[col] > 0.5] Seleccionar filas donde el valor en la columna ‘col’ es > 0.5
df.sort_values(col1) Ordenar datos por la columna col1 (ascendente por defecto)
df.sort_values(col2, ascending=False) Ordenar datos por la columna col2 en orden descendente
df.sort_values([col1, col2], ascending=[True, False]) Ordenar por col1 ascendente, luego col2 descendente
df.groupby(col) Devuelve un objeto GroupBy agrupado por la columna ‘col’
df.groupby([col1, col2]) Devuelve un objeto GroupBy agrupado por múltiples columnas
df.groupby(col1)[col2].mean() Devuelve la media de la columna col2 para cada grupo en col1
df.pivot_table(index=col1, values=[col2, col3], aggfunc=max) Crear una tabla dinámica agrupada por col1, calculando el máximo para col2 y col3
df.groupby(col1).agg(np.mean) Devuelve la media para todas las columnas agrupadas por col1
df.apply(np.mean) Aplicar la función np.mean a cada columna
df.apply(np.max, axis=1) Aplicar la función np.max a cada fila

Creación de Objetos de Prueba

Comando Descripción
pd.DataFrame(np.random.rand(20,5)) Crear un DataFrame con 20 filas y 5 columnas de números aleatorios
pd.Series(my_list) Crear una Series a partir de un objeto iterable my_list
df.index = pd.date_range('1900/1/30', periods=df.shape[0]) Agregar un índice de fecha

Visualización e Inspección de Datos

Comando Descripción
df.head(n) Ver las primeras n filas de un DataFrame
df.tail(n) Ver las últimas n filas de un DataFrame
df.shape Ver el número de filas y columnas
df.info() Ver índice, tipos de datos e información de memoria
df.describe() Ver estadísticas resumidas para columnas numéricas
s.value_counts(dropna=False) Ver valores únicos y recuentos para una Series
df.apply(pd.Series.value_counts) Ver valores únicos y recuentos para cada columna en un DataFrame

Fusión de Datos

Comando Descripción
df1.append(df2) Agregar filas de df2 al final de df1
pd.concat([df1, df2], axis=1) Agregar columnas de df2 al final de df1
df1.join(df2, on=col1, how='inner') Join de estilo SQL entre las columnas de df1 y df2

Estadísticas de Datos

Comando Descripción
df.describe() Ver estadísticas resumidas para columnas numéricas
df.mean() Devuelve la media de todas las columnas
df.corr() Devuelve el coeficiente de correlación entre columnas
df.count() Devuelve el número de valores no nulos en cada columna
df.max() Devuelve el valor máximo de cada columna
df.min() Devuelve el valor mínimo de cada columna
df.median() Devuelve la mediana de cada columna
df.std() Devuelve la desviación estándar de cada columna