Menu
CoddyTech

Histograma de una columna

Parte de la sección Datos y gráficos del Journey de Machine Learning de Coddy. Lección 50 de 60.

¿Son más largas las esperas en una clínica por la tarde que por la mañana? Dos histogramas en los mismos ejes responden de un vistazo:

Dos histogramas semitransparentes de los tiempos de espera en una clínica: las esperas de la mañana van de 6 a 16 minutos a la izquierda, las de la tarde van de 13 a 28 minutos a la derecha y se superponen un poco

Una columna se pasa directamente a ax.hist. Conserva las filas de cada grupo y después dibuja ambos en los mismos ejes:

# waits tiene las columnas shift y minutes
morning = waits[waits["shift"] == "morning"]
evening = waits[waits["shift"] == "evening"]
fig, ax = plt.subplots()
ax.hist(morning["minutes"], bins=4, alpha=0.5, label="morning")
ax.hist(evening["minutes"], bins=4, alpha=0.5, label="evening")
ax.set_title("Clinic Waits")
ax.set_xlabel("Minutes")
ax.legend()
plt.show()

alpha=0.5 hace que las barras sean transparentes a medias (0 es invisible, 1 es opaco), así las superposiciones siguen siendo visibles. label= asigna un nombre a cada una para la leyenda.

Cuando los grupos se distribuyen en rangos diferentes, esa columna ayuda a un modelo a distinguirlos.

challenge icon

Desafío

Intermedio

Una oficina preguntó a su personal cuánto dura el trayecto al trabajo: commute.csv contiene mode (bike o bus) y minutes. ¿Qué grupo tiene los tiempos más dispersos? El código inicial mantiene cada grupo en bike y bus y prepara el gráfico.

Dibuja un histograma de los minutes de cada grupo con bins=5, alpha=0.5 y la etiqueta bike o bus.

El tuyo debería parecerse a este, de la encuesta del año pasado:

Dos histogramas semitransparentes titulados Commute Times: los tiempos en bicicleta se agrupan entre 14 y 26 minutos, los tiempos en autobús se distribuyen entre 15 y 45 minutos, con una leyenda

El grupo cuyas barras abarcan más minutos está más disperso. Coddy describe tu gráfico en la salida.

Pruébalo tú mismo

import pandas as pd
import matplotlib.pyplot as plt

trips = pd.read_csv("commute.csv")
bike = trips[trips["mode"] == "bike"]
bus = trips[trips["mode"] == "bus"]

fig, ax = plt.subplots()
ax.set_title("Commute Times")
ax.set_xlabel("Minutes")

# Escribe tu código a continuación

# No cambies las líneas siguientes
ax.legend()
plt.show()
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Datos y gráficos

Practica por tu cuenta: Compilador de Python online