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.