EDA Completo: Análisis Exploratorio de Datos
El Análisis Exploratorio de Datos (EDA) es el proceso sistemático de examinar un dataset antes de cualquier modelado o decisión de negocio. No es un paso — es el paso. Un EDA mal hecho lleva a conclusiones equivocadas. Uno bien hecho te da la intuición necesaria para hacer las preguntas correctas.
Concepto teórico
¿Qué es el EDA y por qué importa?
El EDA fue formalizado por John Tukey en 1977 en su libro "Exploratory Data Analysis". La idea central es: antes de hacer modelos o pruebas, mirá los datos. Suena obvio, pero en la práctica muchos analistas saltan directo a las conclusiones sin entender la estructura de los datos.
1. ¿Qué forma tienen los datos? (dimensiones, tipos, estructura)
2. ¿Qué tan limpios están? (nulos, duplicados, inconsistencias)
3. ¿Cómo se distribuyen las variables numéricas? (centralidad, dispersión, outliers)
4. ¿Cómo se distribuyen las variables categóricas? (frecuencias, desbalances)
5. ¿Qué relaciones existen entre variables? (correlaciones, patrones)
Los 6 pasos del EDA profesional
| # | Paso | Herramientas | Objetivo |
|---|---|---|---|
| 1 | Reconocimiento | shape, dtypes, head, info |
Entender la estructura básica |
| 2 | Calidad | isna, duplicated, describe |
Evaluar la salud de los datos |
| 3 | Univariado numérico | Histogramas, box plots, estadísticas | Distribución de cada variable numérica |
| 4 | Univariado categórico | value_counts, countplot | Distribución de cada variable categórica |
| 5 | Bivariado | Scatter, heatmap de correlación, boxplot por grupo | Relaciones entre pares de variables |
| 6 | Insights | Resumen escrito, visualización clave | Hallazgos accionables del negocio |
EDA paso a paso: caso práctico completo
Paso 1: Reconocimiento del dataset
Lo primero siempre: ¿cuántas filas y columnas? ¿Qué tipo de datos hay? ¿Cómo se ven las primeras filas?
Hacé clic en ▶ Ejecutar
Paso 2: Evaluación de calidad
¿Cuántos nulos? ¿Duplicados? ¿Valores atípicos? Este paso decide si podemos confiar en las métricas que calculemos después.
Hacé clic en ▶ Ejecutar
Paso 3: Análisis univariado numérico
Distribuir cada variable numérica: histogramas, box plots, estadísticas. Detectar asimetrías y outliers.
Hacé clic en ▶ Ejecutar
Paso 4: Análisis univariado categórico
¿Cómo se distribuyen las categorías? ¿Hay desbalances? Las frecuencias categóricas revelan sesgos en la muestra.
Hacé clic en ▶ Ejecutar
Paso 5: Análisis bivariado — Relaciones entre variables
¿Qué variables se relacionan? Correlaciones entre numéricas, distribuciones numéricas segmentadas por categóricas.
Hacé clic en ▶ Ejecutar
Referencia rápida — Checklist de EDA
| Paso | Código clave | ¿Qué buscás? |
|---|---|---|
| Dimensiones | df.shape |
Filas × columnas |
| Tipos | df.dtypes |
¿object donde debería ser number? |
| Head | df.head() |
¿Los datos tienen sentido? |
| Nulos | df.isna().sum() |
¿Cuántos y dónde? |
| Duplicados | df.duplicated().sum() |
¿Filas repetidas? |
| Describe | df.describe() |
Estadísticas rápidas |
| Distribución num | sns.histplot(kde=True) |
Forma, asimetría |
| Distribución cat | df["col"].value_counts() |
Desbalances |
| Outliers | sns.boxplot() |
Valores atípicos |
| Correlaciones | sns.heatmap(df.corr()) |
Relaciones lineales |
| Relación num-cat | sns.boxplot(x=cat, y=num) |
¿La distribución varía por grupo? |
Ejercicios
Ejercicio 1: Reconocimiento con shape y dtypes
Imprimí las dimensiones del DataFrame y los tipos de datos. Debe incluir la palabra int.
Hacé clic en ▶ Ejecutar
Ejercicio 2: Reporte de nulos y duplicados
Imprimí la cantidad de nulos por columna y el total de duplicados. Debe incluir el número 0.
Hacé clic en ▶ Ejecutar
Ejercicio 3: describe()
Ejecutá describe() sobre el DataFrame. Debe incluir mean.
Hacé clic en ▶ Ejecutar
Ejercicio 4: Histograma con mediana
Graficá la distribución de Ingreso con sns.histplot(kde=True) y agregá una línea en la mediana.
Imprimí Univariado OK.
Hacé clic en ▶ Ejecutar
Ejercicio 5: value_counts con porcentaje
Imprimí el value_counts(normalize=True) de Segmento para ver porcentajes. Debe incluir la
palabra Estándar.
Hacé clic en ▶ Ejecutar
Ejercicio 6: Boxplot por categoría
Graficá un boxplot de Ingreso por Segmento. Imprimí Bivariado OK.
Hacé clic en ▶ Ejecutar
Ejercicio 7: Heatmap de correlaciones
Calculá la matriz de correlación y graficála con heatmap. Imprimí la correlación entre Antigüedad e Ingreso.
Debe incluir un número decimal (ej: 0.).
Hacé clic en ▶ Ejecutar
Ejercicio 8: Limpieza + análisis
El dataset tiene nulos y duplicados. Limpiálo (fillna con mediana,
drop_duplicates), después imprimí media y mediana del saldo. Debe incluir Limpio.
Hacé clic en ▶ Ejecutar
Ejercicio 9: Dashboard EDA de 4 gráficos
Creá 4 subplots: histograma de Ingreso, countplot de Segmento, boxplot Ingreso×Segmento, scatter
Antigüedad×Ingreso. Imprimí EDA dashboard.
Hacé clic en ▶ Ejecutar
Ejercicio 10: Reporte EDA con insights escritos
Generá un reporte EDA completo: (1) dimensiones, (2) nulos %, (3) estadísticas por segmento, (4) un hallazgo
clave. Debe incluir la palabra Hallazgo.
Hacé clic en ▶ Ejecutar
Resumen y conexión
- El EDA sigue 6 pasos: reconocimiento → calidad → univariado numérico → univariado categórico → bivariado → insights.
- Las primeras 4 líneas de cualquier EDA:
shape,dtypes,isna().sum(),describe(). - Los histogramas revelan la forma de los datos (simétricos, sesgados, bimodales).
- Los box plots detectan outliers automáticamente y comparan distribuciones por categoría.
- El heatmap de correlaciones identifica relaciones lineales entre todas las variables numéricas.
- Siempre terminá con insights escritos — los gráficos sin interpretación no generan valor.
En la siguiente lección (13 · NumPy fundamentos) vas a profundizar en la biblioteca que está debajo de pandas: arrays de alto rendimiento, operaciones vectorizadas y álgebra lineal básica.
Recursos: pandas — Calculate statistics · Seaborn Tutorial