Plan de Aprendizaje Completo: Pandas
Objetivo: Limpiar, unir y resumir tablas hasta dejar un dataset confiable para un pipeline o un modelo.
Metodología: Trabaja sobre un archivo real (ventas, logs o un export de Power BI). Cada fase deja ese archivo más usable que al empezar.
Tus apuntes van en Mis notas.
Índice
- Fase 1: Series, DataFrame y lectura
- Fase 2: Selección y limpieza
- Fase 3: Joins, grupos y reshape
- Fase 4: Fechas, texto y calidad
- Fase 5: Rendimiento y handoff al pipeline
- Proyectos integradores
Fase 1: Series, DataFrame y lectura
Meta: Cargar datos sin adivinar tipos.
-
SeriesvsDataFrame; índice y columnas -
read_csv,read_excel,read_parquet: separador, encoding,dtype,parse_dates -
head,info,describe,shape,columns -
locvsiloc - 🧪 Práctica: Carga un CSV problemático (comas en texto, fechas, nulos) y deja un
info()limpio.
Fase 2: Selección y limpieza
Meta: Que cada columna tenga un tipo y un significado.
- Filtros booleanos y
query - Nulos:
isna,dropna,fillna; cuándo borrar y cuándo imputar - Duplicados:
duplicated,drop_duplicates, claves de negocio - Tipos:
astype, categorías, errores conto_numeric(..., errors="coerce") - Renombres y un diccionario de columnas estable
- 🧪 Práctica: Documento de calidad: % nulos, duplicados y tipos antes/después.
Fase 3: Joins, grupos y reshape
Meta: Combinar tablas como en un modelo estrella chico.
-
merge: inner, left, claves compuestas, sufijos, validar cardinalidad convalidate -
concaty cuándo no usarlo en lugar de un join -
groupby:agg,transform,filter -
pivot,pivot_table,melt(el UNPIVOT de un reporte ancho) - 🧪 Práctica: Hecho de ventas + dimensión de producto, con totales por categoría y mes.
Fase 4: Fechas, texto y calidad
Meta: Dejar llaves de tiempo y texto comparables.
-
to_datetime, zonas, periodosdt.to_period("M") - Resample básico sobre una serie
- Strings:
str.strip,str.lower,str.extract - Outliers con percentiles o reglas de negocio, no solo con un z-score ciego
- 🧪 Práctica: Calendario de meses continuos aunque falten días en la fuente.
Fase 5: Rendimiento y handoff al pipeline
Meta: Saber el límite de Pandas en una laptop y cómo entregar el resultado.
- Evitar
applyfila a fila; preferir operaciones vectorizadas -
categoryy lectura por columnas (usecols) - Exportar Parquet con tipos estables
- Qué de esta lógica debe vivir después en SQL o Spark
- 🧪 Práctica: Script reproducible (
argparseo funciónmain) que lee crudo y escribe curado.
Proyectos integradores
- Dataset de ventas listo para BI — limpieza, dimensión de producto y agregado mensual.
- Bitácora de calidad — mismo pipeline sobre dos meses y un diff de esquemas.
Recursos
| Recurso | Uso |
|---|---|
| 10 minutes to pandas | Mapa rápido |
| User guide | Joins, groupby, tiempo |
| Pandas comparada con SQL | Si ya piensas en SQL |
Criterios de avance
| Fase | La dominas cuando... |
|---|---|
| 1 | Lees un archivo y justificas cada dtype |
| 2 | Entregas un conteo de nulos y duplicados, no solo un dropna |
| 3 | Un join no duplica filas y puedes probarlo |
| 4 | El mes de una fecha no depende del formato del Excel |
| 5 | El script corre de nuevo sobre un archivo nuevo sin editar celdas a mano |