В массиве scores формы (100, 7) строки — пользователи, столбцы — дни недели. Как посчитать среднее значение для каждого пользователя (по строкам)?
A
np.mean(scores, axis=0): сворачивает строки и даёт среднее по каждому дню неделиB
np.mean(scores): одно число со средним по всем ячейкам матрицы целикомC
np.mean(scores, axis=2): обращение к третьей оси у двумерного массива формы (100, 7)D
np.mean(scores, axis=1): сворачивает столбцы и даёт среднее на каждого пользователяПравильный ответ. Среднее по строкам в двумерном массиве считается через
axis=1.Разбор
Если строки — пользователи, то «среднее по пользователю» означает свернуть столбцы (дни недели) и оставить одну величину на строку. Это np.mean(scores, axis=1), результат будет одномерный массив длины 100. axis=0 свернул бы строки и дал бы среднее по каждому дню недели (длина 7). Без указания оси возвращается одно число — среднее по всему массиву.
Проверь себя · 1/3разбор после ответа
Что будет результатом выражения
arr + 10, если arr = np.array([1, 2, 3])?Ещё вопросы по теме «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: основы» →