В 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=...) = способ агрегировать значения по выбранной оси без циклов.