В NumPy метод sum(axis=...) используется для суммирования элементов массива вдоль указанной оси.
Общее правило:
axis=0— суммируем по вертикали (собираем строки, оставляем столбцы)axis=1— суммируем по горизонтали (собираем столбцы, оставляем строки)
Примеры:
import numpy as np
M = np.array([[1, 2, 3],
[4, 5, 6]])Сумма по axis=0:
np.sum(M, axis=0) # [5 7 9]-
Складываем элементы каждого столбца:
- 1-й столбец: 1 + 4 = 5
- 2-й столбец: 2 + 5 = 7
- 3-й столбец: 3 + 6 = 9
Сумма по axis=1:
np.sum(M, axis=1) # [6 15]-
Складываем элементы каждой строки:
- 1-я строка: 1 + 2 + 3 = 6
- 2-я строка: 4 + 5 + 6 = 15
Особенности:
- Если
axis=None(по умолчанию), суммируются все элементы массива, возвращается скаляр:
np.sum(M) # 21- Для nD массивов
axis=kуказывает, вдоль какой оси «сжать» данные, оставляя остальные. - Метод возвращает массив с размерностью на 1 меньше, чем исходная по указанной оси.
Коротко: sum(axis=...) = способ агрегировать значения по выбранной оси без циклов.