Análisis univariante
Gráficos de distribución, histogramas, diagramas de caja y gráficos de recuento para comprender características individuales.
Análisis univariante es una lección gratuita de Learn AI with Python en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Learn AI with Python, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Learn AI with Python incluye 4 lecciones en total.
¿Qué es el análisis univariante?
El análisis univariante examina una variable cada vez para comprender su distribución: centro, dispersión, forma y valores inusuales.
El gráfico adecuado depende del tipo de variable:
- Numérica → histograma, KDE, diagrama de caja o diagrama de violín
- Categórica → gráfico de recuento (gráfico de barras de frecuencias)
Configuración de las bibliotecas de gráficos
Usamos Matplotlib (plt) y Seaborn (sns). Seaborn se basa en Matplotlib y ofrece valores predeterminados más adecuados para los gráficos estadísticos.
import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd
sns.set_theme(style="whitegrid")
df = pd.read_csv("data.csv")Histogramas con plt.hist
Un histograma agrupa los valores numéricos en intervalos y cuenta cuántos valores caen en cada uno. Permite ver la forma general de una distribución.
El argumento bins controla la resolución: muy pocos intervalos ocultan la estructura y demasiados añaden ruido.
plt.hist(df["age"], bins=30, edgecolor="black")
plt.xlabel("Age")
plt.ylabel("Count")
plt.title("Age Distribution")
plt.show()Gráficos KDE — Densidad suavizada
Una estimación de densidad por kernel (sns.kdeplot) dibuja una curva suave que aproxima la distribución, lo que puede resultar más fácil de interpretar que las barras irregulares de un histograma.
Combine ambos gráficos con sns.histplot(..., kde=True) para superponer la curva suave a las barras.
sns.kdeplot(df["age"], fill=True)
plt.show()
sns.histplot(df["age"], bins=30, kde=True)
plt.show()Detección de la asimetría
La asimetría mide la falta de simetría. Una cola larga hacia la derecha es una asimetría hacia la derecha (positiva); una cola larga hacia la izquierda es una asimetría hacia la izquierda (negativa).
Los ingresos, los precios y los recuentos suelen presentar asimetría hacia la derecha. Puede cuantificarla con df[col].skew(): los valores muy alejados de 0 indican asimetría.
print(df["income"].skew()) # e.g. 2.3 -> strong right skew
sns.histplot(df["income"], bins=40, kde=True)
plt.show()Detección de la bimodalidad
Una distribución bimodal tiene dos picos, lo que suele indicar que se han mezclado dos grupos distintos (por ejemplo, dos tipos de productos en una misma columna de precios).
Los gráficos KDE hacen evidente la bimodalidad: busque dos elevaciones. Es una pista de que una variable categórica oculta podría explicar la separación.
sns.kdeplot(df["price"], fill=True)
plt.title("Two peaks suggest two subpopulations")
plt.show()Diagramas de caja con sns.boxplot
Un diagrama de caja muestra la mediana (línea central), el rango intercuartílico (IQR, la caja) y unos bigotes que se extienden hasta aproximadamente 1,5 veces el IQR. Los puntos situados más allá de los bigotes se marcan como valores atípicos.
sns.boxplot(x=df["income"])
plt.title("Income — box plot")
plt.show()Valores atípicos y regla del IQR
El diagrama de caja utiliza la regla del IQR: un punto es un valor atípico si se encuentra por debajo de Q1 - 1.5*IQR o por encima de Q3 + 1.5*IQR.
Puede calcular los límites por su cuenta para filtrar o limitar los valores extremos.
q1 = df["income"].quantile(0.25)
q3 = df["income"].quantile(0.75)
iqr = q3 - q1
low, high = q1 - 1.5*iqr, q3 + 1.5*iqr
outliers = df[(df["income"] < low) | (df["income"] > high)]
print(len(outliers), "outliers")Diagramas de violín con sns.violinplot
Un diagrama de violín combina un diagrama de caja con un KDE reflejado. El ancho a cada altura muestra la densidad, de modo que permite ver la forma y las estadísticas resumidas al mismo tiempo.
Los diagramas de violín son excelentes para revelar la asimetría o la bimodalidad que un diagrama de caja sencillo ocultaría.
sns.violinplot(x=df["age"])
plt.title("Age — violin plot")
plt.show()Gráficos de recuento para variables categóricas
Para las columnas categóricas, use sns.countplot: un gráfico de barras de las frecuencias de las categorías. Es la representación visual de value_counts().
Ordene las barras por frecuencia para facilitar la lectura mediante el argumento order.
order = df["city"].value_counts().index
sns.countplot(y="city", data=df, order=order)
plt.title("Records per city")
plt.show()Elección del gráfico univariante adecuado
Guía rápida para decidir:
- Forma de una columna numérica → histograma o KDE
- Valores atípicos y cuartiles → diagrama de caja
- Forma y resumen combinados → diagrama de violín
- Frecuencias de las categorías → gráfico de recuento
Comprobación rápida: elección del gráfico
Se desea ver la mediana, los cuartiles y los valores atípicos de una única columna numérica.
Resumen: análisis univariante
Ha aprendido a inspeccionar una variable cada vez:
plt.histysns.kdeplotpara analizar la forma de la distribución.skew()para cuantificar la asimetría; los picos del KDE para detectar la bimodalidadsns.boxploty la regla del IQR para detectar valores atípicossns.violinplotpara analizar conjuntamente la forma y el resumen estadísticosns.countplotpara consultar las frecuencias de las variables categóricas
A continuación, estudiaremos las relaciones entre dos o más variables.
Preguntas frecuentes
¿La lección «Análisis univariante» es gratis?
Sí — el texto completo de «Análisis univariante» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Learn AI with Python, actualiza a CoddyKit PRO. El curso de Learn AI with Python incluye 4 lecciones en total.
¿Qué aprenderé en «Análisis univariante»?
Gráficos de distribución, histogramas, diagramas de caja y gráficos de recuento para comprender características individuales. Practicas Learn AI with Python con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Learn AI with Python?
No se requiere experiencia previa. Learn AI with Python en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.
¿Cuánto tiempo toma la lección «Análisis univariante»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Learn AI with Python?
Sí. Cada lección de Learn AI with Python incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Flujo de trabajo de EDA y perfilado de datos
- Análisis univariante
- Análisis bivariante y multivariante
- Distribución de características y análisis del objetivo