QuieroProgramar por Rodri Gonzalez
Data Analysis · Lección 11 de 19

Seaborn: Visualización Estadística

Seaborn es una biblioteca construida sobre Matplotlib que automatiza la creación de gráficos estadísticos complejos. Lo que en Matplotlib requiere 15 líneas de código, en Seaborn se hace en 1. Está diseñada para trabajar directamente con DataFrames de pandas, lo que la convierte en la herramienta de visualización favorita de los Data Analysts.

90–120 min Prerrequisitos: Lección 10 (Matplotlib básico)
01

Concepto teórico

¿Por qué Seaborn si ya tenemos Matplotlib?

Aspecto Matplotlib Seaborn
Nivel Bajo nivel (control total) Alto nivel (resultados rápidos)
Input Arrays/listas DataFrames directamente
Estética Hay que configurar todo Temas profesionales incorporados
Gráficos estadísticos Manual Automáticos (boxplot, violin, etc)
¿Cuándo usarlo? Personalización extrema Exploración y reportes rápidos
No es Seaborn vs Matplotlib — es Seaborn + Matplotlib. Seaborn genera los gráficos, y podés usar Matplotlib para ajustar detalles. Todo gráfico de Seaborn es un gráfico de Matplotlib por debajo, así que plt.title(), plt.xlabel(), etc. funcionan sobre los gráficos de Seaborn.

Los gráficos clave de Seaborn

Gráfico Función Qué muestra Úsalo para
Box Plot sns.boxplot() Mediana, cuartiles, outliers Comparar distribuciones por categoría
Violin Plot sns.violinplot() Distribución completa + densidad Distribuciones con forma visible
Count Plot sns.countplot() Conteo de categorías Distribución categórica
Heatmap sns.heatmap() Matriz con colores Correlaciones, pivot tables
Scatter + tendencia sns.regplot() Puntos + regresión lineal Relación entre variables
Histograma + KDE sns.histplot() Distribución + curva suavizada Forma de la distribución
Bar con error sns.barplot() Media + intervalo de confianza Comparar medias con incertidumbre
Analogía: Matplotlib es como tener un taller de carpintería completo — podés construir cualquier mueble, pero todo lo hacés a mano. Seaborn es como IKEA — viene con diseños profesionales pre-armados que se montan rápido. Y si necesitás un ajuste extra, siempre podés usar las herramientas del taller (Matplotlib) sobre el mueble de IKEA (Seaborn).
En el trabajo real: en la fase de exploración usás Seaborn porque es rapidísimo. En 5 minutos generás 10 gráficos que te muestran patrones. Cuando necesitás un gráfico final para una presentación ejecutiva con estilos corporativos específicos, pulís con Matplotlib.
02

Ejemplos explicados paso a paso

Ejemplo 1: Box Plot — Distribución por segmento

El box plot muestra mediana, cuartiles e identifica outliers automáticamente. Es la forma más eficiente de comparar distribuciones entre categorías.

ejemplo_01_boxplot.pyPython

        
Hacé clic en ▶ Ejecutar
Cómo leer un box plot: la línea del medio es la mediana. La caja va de Q1 a Q3 (50% central de los datos). Los "bigotes" se extienden hasta 1.5×IQR. Los puntos fuera de los bigotes son outliers. Si la mediana no está centrada en la caja, la distribución es asimétrica.

Ejemplo 2: Histograma con KDE — Forma de la distribución

Seaborn combina histograma con una curva de densidad suavizada (KDE) que muestra la "forma" de la distribución sin el ruido de los bins.

ejemplo_02_histplot.pyPython

        
Hacé clic en ▶ Ejecutar

Ejemplo 3: Heatmap — Matriz de correlaciones

El heatmap visualiza una matriz numérica con colores. El uso más habitual es mostrar las correlaciones entre todas las variables numéricas de tu dataset.

ejemplo_03_heatmap.pyPython

        
Hacé clic en ▶ Ejecutar
Cómo leer el heatmap de correlaciones: valores cercanos a +1 (rojo) indican correlación positiva fuerte (cuando una sube, la otra también). Valores cercanos a -1 (azul) indican correlación negativa. Valores cercanos a 0 indican que no hay relación lineal.

Ejemplo 4: Count Plot y Bar Plot — Distribución categórica

Dos formas de visualizar datos categóricos: countplot cuenta automáticamente, barplot calcula la media con intervalo de confianza.

ejemplo_04_categoricos.pyPython

        
Hacé clic en ▶ Ejecutar

Ejemplo 5: Scatter con regresión — regplot

Seaborn automatiza la línea de tendencia (regresión lineal) sobre un scatter plot, incluyendo el intervalo de confianza.

ejemplo_05_regplot.pyPython

        
Hacé clic en ▶ Ejecutar
03

Referencia rápida

Función Seaborn Tipo de gráfico Parámetros clave
sns.boxplot() Box plot data, x, y, palette, order
sns.violinplot() Violin plot data, x, y, inner="box"
sns.histplot() Histograma + KDE data, x, bins, kde
sns.countplot() Conteo categórico data, x, hue, order
sns.barplot() Media + error data, x, y, errorbar
sns.heatmap() Mapa de calor data, annot, cmap, center
sns.regplot() Scatter + regresión data, x, y
sns.set_theme() Estilo global style, palette, font_scale
04

Ejercicios

Nivel 1 · Básico

Ejercicio 1: Box plot simple

Creá un box plot de Saldo por Segmento. Imprimí Boxplot OK.

ejercicio_01.pyDebe imprimir "Boxplot OK"

          
Hacé clic en ▶ Ejecutar
Nivel 1 · Básico

Ejercicio 2: Histograma con KDE

Creá un histograma de Ingreso con kde=True. Imprimí Histograma Seaborn OK.

ejercicio_02.pyDebe imprimir "Histograma Seaborn OK"

          
Hacé clic en ▶ Ejecutar
Nivel 1 · Básico

Ejercicio 3: Count plot

Creá un count plot para ver cuántos clientes hay por Canal. Imprimí Conteo OK.

ejercicio_03.pyDebe imprimir "Conteo OK"

          
Hacé clic en ▶ Ejecutar
Nivel 2 · Intermedio

Ejercicio 4: Heatmap de correlación

Calculá la matriz de correlación del DataFrame y visualizala con sns.heatmap(). Imprimí Heatmap OK.

ejercicio_04.pyDebe imprimir "Heatmap OK"

          
Hacé clic en ▶ Ejecutar
Nivel 2 · Intermedio

Ejercicio 5: regplot — Scatter con regresión

Graficá la relación entre Edad e Ingreso con sns.regplot(). Imprimí la correlación, debe incluir 0.99.

ejercicio_05.pyDebe incluir "0.99"

          
Hacé clic en ▶ Ejecutar
Nivel 2 · Intermedio

Ejercicio 6: barplot con error bars

Creá un barplot del monto promedio por segmento con errorbar="sd". Imprimí Barplot Seaborn OK.

ejercicio_06.pyDebe imprimir "Barplot Seaborn OK"

          
Hacé clic en ▶ Ejecutar
Nivel 3 · Avanzado

Ejercicio 7: Boxplot + título + ylabel

Creá un boxplot de Ingreso por Ciudad con título, ylabel y palette="Set2". Imprimí Box profesional.

ejercicio_07.pyDebe imprimir "Box profesional"

          
Hacé clic en ▶ Ejecutar
Nivel 3 · Avanzado

Ejercicio 8: Histograma comparativo con hue

Creá un histograma de Saldo separado por Segmento usando hue. Imprimí Histograma comparativo OK.

ejercicio_08.pyDebe imprimir "Histograma comparativo OK"

          
Hacé clic en ▶ Ejecutar
Nivel 3 · Avanzado

Ejercicio 9: Heatmap de pivot table

Creá una pivot_table (Sucursal × Canal, suma de Monto) y visualizala como heatmap. Imprimí Pivot heatmap OK.

ejercicio_09.pyDebe imprimir "Pivot heatmap OK"

          
Hacé clic en ▶ Ejecutar
Nivel 4 · Desafío

Ejercicio 10: Dashboard con 4 gráficos Seaborn

Creá 4 subplots: (1) boxplot, (2) histplot con kde, (3) countplot, (4) barplot. Usá fig, axes = plt.subplots(2, 2). Imprimí Dashboard completo.

ejercicio_10_desafio.pyDebe imprimir "Dashboard completo"

          
Hacé clic en ▶ Ejecutar
05

Resumen y conexión

En la siguiente lección (12 · EDA Completo) vas a combinar todo lo aprendido hasta ahora — pandas, estadística, matplotlib y seaborn — en un proceso estructurado de Análisis Exploratorio de Datos de principio a fin.

Recursos: Seaborn Tutorial · Galería de ejemplos