Есть матрица продаж sales формы (12, 5): строки — месяцы, столбцы — продукты. Как получить сумму продаж по каждому продукту за все месяцы?
A
np.sum(sales, axis=1): сворачивает столбцы и даёт сумму по каждому месяцуB
np.sum(sales, axis=0): сворачивает строки и даёт сумму по каждому продуктуC
np.sum(sales): одно число с общей суммой по всей матрице без разбивкиD
np.sum(sales, axis=2): обращение к третьей оси у двумерного массиваПравильный ответ. Чтобы получить суммы по столбцам, нужно сворачивать строки — то есть указать
axis=0.Разбор
В табличной логике «продукты в столбцах» означает: агрегировать вдоль строк (месяцев) и оставить столбцы — это np.sum(sales, axis=0). Если перепутать ось, легко получить «правильные числа не того смысла» — частая ошибка в аналитике. np.sum(sales) без оси даёт одно число общей суммы, а axis=2 упадёт с ошибкой для двумерного массива.
Проверь себя · 1/3разбор после ответа
Пусть
a имеет форму (2, 3), а b = np.array([10, 20, 30]) имеет форму (3,). Какой будет форма результата a + b?Ещё вопросы по теме «NumPy: основы»
- После `import numpy as np` вы сравниваете операции над списком Python `list` и массивом `np.ndarray`. Что верно для `lst * 2` и `arr * 2`, где `lst = [1, 2, 3]`, а `arr = np.array([1, 2, 3])`?
- Какое значение вернёт `arr.shape`, если `arr = np.array([[1, 2, 3], [4, 5, 6]])`?
- Что будет результатом выражения `arr + 10`, если `arr = np.array([1, 2, 3])`?
- Пусть `x = np.array([[1, 2], [3, 4]])`. Чему равен результат `np.sum(x, axis=0)`?
- Вы считаете метрику по большому массиву чисел и выбираете NumPy вместо Python `list`. Почему операции вроде `arr * 1.1` на `ndarray` обычно быстрее, чем цикл `for` по `list`?
- Все вопросы по «NumPy: основы» →