Broadcasting

Правила автоматического «растягивания» форм при операциях.

Сигнатураa + b (разные формы)

Broadcasting позволяет применять операции к массивам разной формы без явного копирования данных. NumPy выравнивает формы справа налево: размеры совместимы, если они равны либо один из них равен 1 (он «растягивается»).

  • Скаляр совместим с любым массивом.
  • Строка (3,) совместима с матрицей (2, 3).
  • Столбец (2, 1) совместим со строкой (1, 3) — даёт (2, 3).
import numpy as np
A = np.array([[1, 2, 3], [4, 5, 6]])
row = np.array([10, 20, 30])
print(A + row)   # [[11 22 33]
                 #  [14 25 36]]

col = np.array([[100], [200]])
print(A + col)   # [[101 102 103]
                 #  [204 205 206]]
← Все записи: NumPy
Поддержать проект