Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Diagrama de Caja | Más Gráficos Estadísticos
Visualización Definitiva con Python

book
Diagrama de Caja

Note
Definición

Diagrama de caja es otro gráfico sumamente común en estadística utilizado para visualizar la tendencia central, la dispersión y los posibles valores atípicos dentro de los datos a través de sus cuartiles.

Cuartiles

Los cuartiles dividen los puntos de datos (ordenados en orden ascendente) en cuatro partes de igual tamaño. Hay tres de ellos:

  • El primer cuartil (Q1) es el número intermedio entre el valor más pequeño (número) de la muestra y la mediana (el 25% de los datos se encuentra en este rango);

  • El segundo cuartil (Q2) es la mediana en sí misma (el 50% de los datos se encuentra por debajo de la mediana);

  • El tercer cuartil (Q3) es el número intermedio entre la mediana de la muestra y los valores más altos de la muestra (el 75% de los datos se encuentra por debajo de Q3).

Elementos del diagrama de caja

  • El lado derecho del rectángulo rojo representa el tercer cuartil y el lado izquierdo representa el primer cuartil;

  • Q3 - Q1 se denomina rango intercuartílico (IQR), que está representado por el rectángulo donde la línea amarilla es la mediana;

  • Las líneas negras fuera del rectángulo se llaman bigotes. El de la izquierda representa Q11.5IR\text{Q1} - 1.5 \cdot \text{IR}, y el de la derecha representa Q3+1.5IR\text{Q3} + 1.5 \cdot \text{IR};

  • Los puntos de datos que están fuera de los bigotes se denominan valores atípicos.

El siguiente paso es generar un diagrama de caja utilizando la biblioteca matplotlib:

import pandas as pd
import matplotlib.pyplot as plt

# Loading the dataset with the average yearly temperatures in Boston and Seattle
url = 'https://content-media-cdn.codefinity.com/courses/47339f29-4722-4e72-a0d4-6112c70ff738/weather_data.csv'
weather_df = pd.read_csv(url, index_col=0)

# Creating a box plot for the Seattle temperatures
plt.boxplot(weather_df['Seattle'])

plt.show()
1234567891011
import pandas as pd import matplotlib.pyplot as plt # Loading the dataset with the average yearly temperatures in Boston and Seattle url = 'https://content-media-cdn.codefinity.com/courses/47339f29-4722-4e72-a0d4-6112c70ff738/weather_data.csv' weather_df = pd.read_csv(url, index_col=0) # Creating a box plot for the Seattle temperatures plt.boxplot(weather_df['Seattle']) plt.show()
copy

Datos del diagrama de caja

La función boxplot() del módulo pyplot se utiliza con el primer y único parámetro obligatorio x, que representa los datos. Estos datos pueden ser un objeto tipo array (por ejemplo, una Series), un array 2D (se dibuja un diagrama de caja para cada columna), o una secuencia de arrays 1D (se dibuja un diagrama de caja para cada array).

Parámetros opcionales

El parámetro tick_labels es una excepción. Este en particular es útil no solo para etiquetar un único diagrama de caja, sino también para etiquetar los diagramas de caja cuando hay más de un array:

import pandas as pd
import matplotlib.pyplot as plt

# Loading the dataset with the average yearly temperatures in Boston and Seattle
url = 'https://content-media-cdn.codefinity.com/courses/47339f29-4722-4e72-a0d4-6112c70ff738/weather_data.csv'
weather_df = pd.read_csv(url, index_col=0)

# Creating two box plots for Boston and Seattle temperatures
plt.boxplot(weather_df, tick_labels=['Boston', 'Seattle'])
plt.show()
12345678910
import pandas as pd import matplotlib.pyplot as plt # Loading the dataset with the average yearly temperatures in Boston and Seattle url = 'https://content-media-cdn.codefinity.com/courses/47339f29-4722-4e72-a0d4-6112c70ff738/weather_data.csv' weather_df = pd.read_csv(url, index_col=0) # Creating two box plots for Boston and Seattle temperatures plt.boxplot(weather_df, tick_labels=['Boston', 'Seattle']) plt.show()
copy

En este ejemplo, se pasó el DataFrame completo con dos columnas a boxplot(), lo que resultó en diagramas de caja separados para cada columna con etiquetas apropiadas asignadas automáticamente.

Note
Estudiar más

También existen bastantes parámetros opcionales para personalizar el diagrama de caja, los cuales puedes explorar en la documentación de boxplot(), aunque en la práctica es posible que rara vez los utilices.

Tarea

Swipe to start coding

Crear dos diagramas de caja utilizando dos muestras de la distribución normal estándar:

  1. Utilizar la función adecuada para crear los diagramas de caja.
  2. Usar la lista de normal_sample_1 y normal_sample_2 (en este orden de izquierda a derecha) como los datos.
  3. Etiquetar el diagrama de caja izquierdo como First sample y el derecho como Second sample utilizando la list.

Solución

import matplotlib.pyplot as plt
import numpy as np

size = 1000
normal_sample_1 = np.random.normal(size=size)
normal_sample_2 = np.random.normal(size=size)

# Create two box plots for these two samples
plt.boxplot([normal_sample_1, normal_sample_2], tick_labels=['First sample', 'Second sample'])

plt.show()
¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 4. Capítulo 2
import matplotlib.pyplot as plt
import numpy as np

size = 1000
normal_sample_1 = np.random.normal(size=size)
normal_sample_2 = np.random.normal(size=size)

# Create two box plots for these two samples
___.___([___, ___], ___=___)

plt.show()

Pregunte a AI

expand
ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

some-alt