Новая ось для строки и столбца в NumPy
Одномерный массив формы
(3,) не показывает, вдоль
какой оси таблицы его нужно повторять.
Константа newaxis в индексе
добавляет ось длины 1:
ряд становится строкой (1, n)
или столбцом (n, 1), и такие
формы уже можно согласовать при
сложении.
Возьмём один ряд и построим оба
варианта. Форма (1, 3) задаёт
одну строку, форма (3, 1)
задаёт столбец, их сумма даёт
таблицу 3 на 3.
Сначала выведем формы, затем сумму:
import numpy as np
vals = np.array([1, 2, 3])
as_row = vals[np.newaxis, :]
as_col = vals[:, np.newaxis]
print(np.shape(as_row)) # выведет (1, 3)
print(np.shape(as_col)) # выведет (3, 1)
print(as_row + as_col) # выведет [[2 3 4]
# [3 4 5]
# [4 5 6]]
Создайте ряд [10, 20, 30].
Получите из него строку таблицы
и столбец таблицы, выведите обе
формы (1, 3) и (3, 1).
Возьмите ряд [0, 1, 2],
оформите его как строку и как
столбец, сложите и выведите
таблицу 3 на 3,
где числа растут от 0 до 4.