
Proyecto Florence Nightingale — Sesión 2: el momento en que todo cambió, y el diagrama de la rosa
En la sesión anterior comparamos totales. Hoy vamos a mirar la evolución mes a mes, para encontrar algo que un simple total no puede mostrar: el momento exacto en que la mortalidad cambió, y por qué.
La evolución mes a mes
import matplotlib.pyplot as plt
plt.figure(figsize=(10, 5))
plt.plot(muertes["mes"], muertes["enfermedad"], marker="o", color="indianred", label="Enfermedad")
plt.plot(muertes["mes"], muertes["heridas"], marker="o", color="steelblue", label="Heridas")
plt.plot(muertes["mes"], muertes["otras_causas"], marker="o", color="gray", label="Otras causas")
plt.axvline(x="1855-03", color="black", linestyle="--", label="Llegada de la Comisión Sanitaria")
plt.title("Muertes mensuales por causa, guerra de Crimea (1854-1856)")
plt.ylabel("Número de soldados")
plt.xticks(rotation=90)
plt.legend()
plt.tight_layout()
plt.show()
En marzo de 1855, casi seis meses después de que Nightingale llegara a Scutari, el gobierno británico envió por fin una Comisión Sanitaria que limpió las alcantarillas y mejoró la ventilación del hospital.
[COMPLETAR EN CLASE: mirando vuestro propio gráfico, ¿qué le pasa a la curva de “enfermedad” antes y después de esa línea vertical? ¿Y a la de “heridas”?]
[COMPLETAR CON VUESTROS DATOS REALES: mes con más muertes por enfermedad = ___. Muertes ese mes = ___]

De propina: reconstruimos el propio diagrama de la rosa
Nightingale no se conformó con un gráfico de líneas. Diseñó un diagrama circular —doce cuñas, una por mes, apiladas por causa— para que quien lo viera de un vistazo entendiera que la enfermedad, no el enemigo, era la que mataba. Vamos a construir nuestra propia versión, con el primer año completo (antes de la Comisión Sanitaria):
import numpy as np
primer_anio = muertes.iloc[0:12]
angulos = np.linspace(0, 2 * np.pi, 12, endpoint=False)
ancho = 2 * np.pi / 12
fig = plt.figure(figsize=(7, 7))
ax = fig.add_subplot(projection="polar")
ax.bar(angulos, primer_anio["enfermedad"], width=ancho, color="indianred", label="Enfermedad")
ax.bar(angulos, primer_anio["heridas"], width=ancho, bottom=primer_anio["enfermedad"], color="steelblue", label="Heridas")
ax.bar(
angulos,
primer_anio["otras_causas"],
width=ancho,
bottom=primer_anio["enfermedad"] + primer_anio["heridas"],
color="gray",
label="Otras causas",
)
ax.set_xticks(angulos)
ax.set_xticklabels(primer_anio["mes"])
ax.set_title("Nuestra versión del diagrama de la rosa\n(abril 1854 - marzo 1855)", pad=20)
ax.legend(loc="upper right", bbox_to_anchor=(1.35, 1.1))
plt.show()
No es una copia exacta del diagrama original de Nightingale (el suyo escalaba cada cuña con la raíz cuadrada de la tasa anual de mortalidad, para que el área representara bien la magnitud), pero transmite la misma idea de un vistazo: unas cuñas —las de enfermedad— se comen casi todo el círculo.
[COMPLETAR EN CLASE: ¿qué mes tiene la cuña roja (enfermedad) más grande? ¿Coincide con lo que ya habíais visto en el gráfico de líneas?]

Cierre: una herramienta distinta, la misma pregunta de fondo
En todos los proyectos anteriores de esta familia, la herramienta era un modelo que predice algo: un árbol, un Random Forest. Aquí la herramienta ha sido un dibujo. Pero la pregunta de fondo es la misma que ha atravesado toda la familia desde Wald hasta Laennec: los datos por sí solos no convencen a nadie si nadie los mira de la forma correcta. A Nightingale no le bastó con tener las cifras —tuvo que inventar una forma de dibujarlas para que el Parlamento y la propia Reina Victoria entendieran, de un vistazo, algo que los informes con números no habían logrado transmitir. Funcionó: en los años siguientes se impulsaron reformas sanitarias reales en el ejército británico, y una década más tarde, tras aplicar reformas similares en la India, la mortalidad entre los soldados destinados allí bajó de 69 a 18 por cada 1.000.
La lección para cerrar este proyecto tan pequeño: elegir bien qué modelo entrenar importa, como habéis visto todo este curso — pero elegir bien cómo mostrar lo que habéis encontrado puede importar todavía más.



