Broadcasting permite que NumPy opere arrays con shapes diferentes sin copiar manualmente el menor. La compatibilidad se revisa desde la última dimensión: cada par debe coincidir o incluir una dimensión de tamaño 1.
import numpy as np
vendas = np.array([
[100.0, 80.0, 120.0],
[90.0, 110.0, 70.0],
])
fatores = np.array([1.0, 0.9, 1.1])
ajustadas = vendas * fatores
print(ajustadas.shape) # (2, 3)
El vector de tres factores se aplica a cada fila de la matriz (2, 3). Documenta o comprueba shapes en cálculos críticos, porque un shape compatible puede producir un resultado semánticamente incorrecto sin excepción.
Buenas prácticas
Usa reshape, None o np.newaxis para hacer explícito un eje. Inspecciona array.shape y prueba con datos pequeños cuyo resultado puedas calcular a mano. Evita tile() solo para imitar broadcasting, pues suele crear copias innecesarias.
Consulta la guía completa de NumPy y usa pipelines de scikit-learn para transformaciones coherentes.
La guía oficial de broadcasting de NumPy, consultada el 22 de julio de 2026, detalla la API y sus límites.