Пусть a = np.array([[1], [2], [3]]) и b = np.array([10, 20, 30, 40]). Какой будет форма результата a + b?

A(3, 1)
B(4,)
C(3, 4)
DБудет ошибка broadcasting
Правильный ответ. Массив формы (3, 1) и вектор формы (4,) broadcastятся в матрицу формы (3, 4).

Разбор

Форма (3, 1) означает «3 строки и 1 столбец». При сложении с вектором (4,) NumPy приводит формы справа налево: (3, 1) и (4,) становятся совместимыми как (3, 1) и (1, 4), после чего broadcasting даёт результат (3, 4). Это полезно для построения «сетки» значений без циклов.

Можно заниматься бесплатно

Готовим вопросы…

Три вопроса по теме этой страницы, с объяснениями.

Продолжить в браузере

Ещё вопросы по теме «NumPy: основы»