0Pricing
Learn AI with Python · Lección

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.hist y sns.kdeplot para analizar la forma de la distribución
  • .skew() para cuantificar la asimetría; los picos del KDE para detectar la bimodalidad
  • sns.boxplot y la regla del IQR para detectar valores atípicos
  • sns.violinplot para analizar conjuntamente la forma y el resumen estadístico
  • sns.countplot para 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

  1. Flujo de trabajo de EDA y perfilado de datos
  2. Análisis univariante
  3. Análisis bivariante y multivariante
  4. Distribución de características y análisis del objetivo
← Volver a Learn AI with Python