Пусть arr = np.array([[1, 2], [3, 4]]). Что вернёт np.sum(arr) без указания оси (axis)?

AСкалярное значение 10
BМассив np.array([4, 6])
CМассив np.array([3, 7])
DМассив np.array([1, 2, 3, 4])
Правильный ответ. np.sum без axis сворачивает массив по всем осям и возвращает один общий итог как скаляр.

Разбор

При вызове np.sum(arr) без axis NumPy перемножает ничего и просто складывает все элементы между собой: 1 + 2 + 3 + 4 = 10. С axis=0 сумма берётся по столбцам и даёт np.array([4, 6]), а с axis=1 — по строкам, итог np.array([3, 7]). np.array([1, 2, 3, 4]) — это плоское представление исходных значений, его дал бы arr.ravel(), а не агрегация.

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

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

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

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

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