В NumPy параметр axis=0 означает, что операция выполняется вдоль первой оси массива.

Для 2D массива (m, n) первая ось — это строки, а вторая ось — столбцы. Соответственно:

  • axis=0 → «собираем» элементы по вертикали (по строкам), оставляя столбцы.
  • axis=1 → «собираем» элементы по горизонтали (по столбцам), оставляя строки.

Пример:

import numpy as np
 
M = np.array([[1, 2, 3],
              [4, 5, 6]])
 
np.sum(M, axis=0)  # [5 7 9] — суммируем по строкам

Объяснение:

  • Берём каждый столбец:

    • 1-й столбец: 1 + 4 = 5
    • 2-й столбец: 2 + 5 = 7
    • 3-й столбец: 3 + 6 = 9
  • Результат — массив, где каждый элемент соответствует столбцу, т.е. форма (n,)

Для 3D массива (2, 3, 4):

  • axis=0 → объединяем элементы по «первой оси» (по блокам), оставляя 2D массив (3,4)
  • То есть axis=0 всегда вдоль первой размерности, независимо от числа измерений.

Коротко: axis=0 = по вертикали, вдоль строк, оставляем столбцы.