В NumPy ось (axis) — это направление вдоль массива, вдоль которого выполняются операции. Каждая размерность массива соответствует своей оси.

Основная идея:

  • axis=0первая ось, обычно соответствует строкам в 2D массиве.
  • axis=1вторая ось, обычно соответствует столбцам.
  • Для nD массива: axis=k — k-я ось (счёт с нуля).

Примеры:

import numpy as np
 
M = np.array([[1, 2, 3],
              [4, 5, 6]])
  • M.shape = (2, 3) → 2 строки, 3 столбца

Сумма по разным осям:

np.sum(M, axis=0)  # [5 7 9] — сумма по строкам, остаются столбцы
np.sum(M, axis=1)  # [6 15] — сумма по столбцам, остаются строки

Объяснение:

  • axis=0 → операция идёт вдоль вертикальной оси, объединяя строки
  • axis=1 → операция идёт вдоль горизонтальной оси, объединяя столбцы

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

  • axis=0 → объединение по первой оси (по “блокам”)
  • axis=1 → по второй оси (по строкам внутри блоков)
  • axis=2 → по третьей оси (по столбцам внутри блоков)

Важно: axis определяет какое измерение “сжимаем” при операции (sum, mean, max и т.д.), а остальные остаются.