Aprende leyendo en orden

math y statistics — Cálculo sobre un valor y agregación de datos

Aprende los módulos math y statistics de Python desde cero. Cubre los cálculos sobre un valor con math.sqrt / pi / floor / ceil / log, la agregación de datos con statistics.mean / median / mode / stdev, y cómo se reparten los roles ambos módulos — con ejercicios prácticos ejecutables.

Este artículo se enfoca en los módulos numéricos de Python para el caso habitual donde el `float` normal basta. math maneja operaciones sobre un solo valor (raíces cuadradas, logaritmos, funciones trigonométricas); statistics maneja agregar una secuencia de números (media, mediana, desviación estándar). Cuando necesitas evitar el error de coma flotante de forma estricta, el siguiente artículo sobre decimal / fractions es el lugar adecuado.

Cómo se reparten los roles math y statistics
mathsqrt / floor / pistatisticsmean / median / stdevEntrada: un número(int / float)Entrada: lista de números[1200, 1500, ...]
math transforma un solo número; statistics resume una lista de números. La forma de la entrada te dice qué módulo elegir.

math — Operaciones sobre un solo número

math es la biblioteca estándar para operaciones sobre un solo número. math.sqrt para raíces cuadradas, math.floor / math.ceil para redondear hacia abajo / arriba, math.log para logaritmos, math.sin / math.cos para trigonometría — todas las funciones matemáticas clásicas están ahí. También expone constantes como atributos como math.pi y math.e (pi y la base del logaritmo natural).

Las funciones principales de math
math.sqrt(x)raíz cuadradamath.floor(x)redondea abajomath.ceil(x)redondea arribamath.log(x, base)logaritmomath.pipi (constante)math.sin(x)math.cos(x)trigonometría
math.sqrt(x) es la raíz cuadrada, math.floor(x) / math.ceil(x) redondean hacia abajo / arriba, math.log(x, base) es el logaritmo. math.pi y math.e son valores en sí mismos (atributos, no funciones).
Función / AtributoSignificadoEjemplo
math.sqrt(x)Raíz cuadrada (devuelve float)math.sqrt(16) → 4.0
math.floor(x)Redondea hacia abajo (devuelve int)math.floor(3.7) → 3
math.ceil(x)Redondea hacia arriba (devuelve int)math.ceil(3.2) → 4
math.log(x, base)Logaritmo (logaritmo natural si base se omite)math.log(100, 10) → 2.0
math.piPi (constante)3.141592653589793
math.eBase del logaritmo natural (constante)2.718281828459045
import math

print(math.sqrt(16))         # 4.0  (float)
print(math.floor(3.7))       # 3    (int)
print(math.ceil(3.2))        # 4    (int)
print(math.log(100, 10))     # 2.0
print(math.pi)               # 3.141592653589793
print(round(math.pi, 4))     # 3.1416  (redondeado a 4 decimales)

Prueba las funciones y constantes más comunes de math.

① Importa math.

② Calcula la raíz cuadrada de 16 con math.sqrt e imprímela como sqrt(16): ◯.◯.

③ Calcula floor de 3.7 y ceil de 3.2 con math.floor / math.ceil, e imprímelos como floor: ◯ ceil: ◯.

④ Redondea math.pi a 4 decimales e imprímelo como pi (4 dp): ◯.◯◯◯◯.

(Si tu código se ejecuta correctamente, aparecerá la explicación.)

Editor Python

Ejecutar el código para ver el resultado

statistics — Agregar y resumir datos

statistics es la biblioteca estándar para agregar un grupo de valores. statistics.mean devuelve la media aritmética, statistics.median la mediana, statistics.mode el valor más frecuente, y statistics.stdev la desviación estándar muestral — todo en una sola llamada. También puedes ver observaciones estadísticas clásicas en acción, como la mediana siendo un resumen más estable que la media cuando hay valores atípicos, con apenas unas pocas líneas.

Las funciones principales de statistics
[1200, 1500,1100, 1400]lista de númerosstatistics.mean→ mediastatistics.median→ medianastatistics.stdev→ desv. estándar
statistics.mean es la media, statistics.median es la mediana, statistics.mode es el valor más frecuente, statistics.stdev es la desviación estándar. Todas reciben una lista de números y devuelven un número.
FunciónSignificadoEjemplo
statistics.mean(d)Media aritméticamean([1,2,3]) → 2
statistics.median(d)Mediana (resiste atípicos)median([1,2,3,4]) → 2.5
statistics.mode(d)Moda (valor más frecuente)mode([1,2,2,3]) → 2
statistics.stdev(d)Desviación estándar muestralCuán dispersos están los valores
import statistics

prices = [1200, 1500, 1100, 1400]

print(statistics.mean(prices))    # 1300       (media)
print(statistics.median(prices))  # 1300.0     (mediana)
print(statistics.stdev(prices))   # ~182.57    (desviación estándar)

# Con un valor atípico, media y mediana divergen
with_outlier = [1200, 1500, 1100, 1400, 100000]
print(statistics.mean(with_outlier))    # 21040  (arrastrada por el atípico)
print(statistics.median(with_outlier))  # 1400   (resiste el atípico)

Calcula la media, la mediana y la desviación estándar de cuatro precios de productos.

① Importa statistics y pon los cuatro precios [1200, 1500, 1100, 1400] en una lista llamada prices.

② Calcula la media con statistics.mean, redondéala a un entero e imprímela como mean: ◯.

③ Calcula la mediana con statistics.median, redondéala a un entero e imprímela como median: ◯.

④ Calcula la desviación estándar con statistics.stdev, redondéala a 1 decimal e imprímela como stdev: ◯.◯.

Editor Python

Ejecutar el código para ver el resultado
QUIZ

Verificación de conocimientos

Responde cada pregunta una a una.

Pregunta 1¿Cuál es la llamada correcta para calcular la raíz cuadrada de un solo número?

Pregunta 2¿Cuál es la forma más apropiada de calcular la media de una lista?

Pregunta 3¿Cuál devuelve la mediana resistente a valores atípicos?