¿Cuánto tarda de verdad un reparto?
Trabajas en una empresa de reparto a domicilio de Valencia. La web promete la comida "en unos 30 minutos".
Tu responsable te pide el tiempo típico de la semana. Un pedido tardó 95 minutos porque el repartidor pinchó una rueda.
¿Ese pedido debe cambiar la cifra que se publica? Depende de qué cifra uses.
Al final de esta lección
Nota
Puedo calcular la media, la mediana y el rango de unos datos.
Palabras clave
| Palabra | Qué significa | Ejemplo |
|---|---|---|
| Media | la suma de los valores dividida entre cuántos hay | |
| Mediana | el valor del centro cuando están ordenados | |
| Rango | el mayor menos el menor | |
| Valor atípico | un valor muy lejos de los demás | 95 |
| Resumen | pocas cifras que describen muchos datos |
Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.
Media y mediana responden distinto
La media suma todos los valores y divide entre cuántos hay. Todos los valores pesan.
La mediana ordena los valores y toma el del centro. Un valor muy alto en un extremo apenas la mueve.
Por eso, con un valor atípico, la mediana suele contar mejor lo normal. La media cuenta mejor el total, por ejemplo cuánto se paga en horas.
Cinco repartos, paso a paso
| Paso | Cálculo | Resultado |
|---|---|---|
| Datos | 22, 30, 25, 95, 28 | 5 repartos |
| Suma | 22 + 30 + 25 + 95 + 28 | 200 |
| Media | 200 entre 5 | 40 minutos |
| Ordenar | 22, 25, 28, 30, 95 | el centro es el tercero |
| Mediana | el tercero | 28 minutos |
| Rango | 95 menos 22 | 73 minutos |
Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.
Las tres medidas con Python
# Minutos que tardaron cinco repartos de la tarde.
minutes = [22, 30, 25, 95, 28]
mean = sum(minutes) / len(minutes)
ordered = sorted(minutes)
middle = len(ordered) // 2
median = ordered[middle]
spread = max(minutes) - min(minutes)
print("Ordenados:", ordered)
print("Media:", mean, "minutos")
print("Mediana:", median, "minutos")
print("Rango:", spread, "minutos")
# Cambia 95 por 31 y compara la media con la mediana.
Un error frecuente
Advertencia
Mucha gente cree que la mediana es el valor que está en medio de la lista tal cual llega. No es así. Primero hay que ordenar los valores. Sin ordenar, el valor del centro depende de cómo se apuntaron los datos.
Una lista par tiene dos centros
Con seis valores no hay uno solo en el centro, hay dos. La mediana es la media de esos dos.
El rango dice cuánto se separan los datos: el mayor menos el menor. Un rango de 73 minutos avisa de que algún reparto salió muy mal. Un rango de 8 dice que el servicio es regular.
La mediana con seis valores
# Con un número par de valores no hay un único valor central.
minutes = [22, 25, 28, 30, 35, 95]
ordered = sorted(minutes)
middle = len(ordered) // 2
left = ordered[middle - 1]
right = ordered[middle]
median = (left + right) / 2
print("Los dos del centro:", left, "y", right)
print("Mediana:", median, "minutos")
# Añade un séptimo reparto de 40 minutos. ¿Sigue siendo par la lista?
Tu turno: la mediana
El panel de la empresa quiere mostrar la mediana de cada día. Escribe una función que la calcule, tanto si hay un número par de repartos como impar. Unas pruebas ocultas comprueban tu respuesta.