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