Выравнивание форм справа в NumPy
При согласовании форм NumPy сравнивает
оси, начиная с последней. У таблицы
(2, 3) и ряда (3,)
совпадает только правая сторона:
у обоих по три элемента вдоль последней
оси. Слева у ряда оси нет, и его
удобно мысленно дописать до формы
(1, 3).
После такого дополнения таблица
(2, 3) и ряд (1, 3)
согласуются: по каждой оси размеры
либо равны, либо один из них равен
1. Правая ось ряда совпадает
с правой осью таблицы, поэтому один
ряд применяется к каждой строке.
Проверим на примере:
import numpy as np
m = np.array([[1, 2, 3], [4, 5, 6]])
row = np.array([10, 20, 30])
print(np.shape(m)) # выведет (2, 3)
print(np.shape(row)) # выведет (3,)
print(m + row) # выведет [[11 22 33]
# [14 25 36]]
Создайте таблицу 2 на 4
из нулей и ряд из четырёх единиц.
Выведите формы обоих массивов,
затем таблицу, где в каждой ячейке
стоит 1.
Задайте таблицу 3 на 2
из последовательных целых и ряд
длины 2 из чисел 10
и 20. Выведите результат,
где к каждой строке таблицы
прибавлен один и тот же ряд.