Простое объяснение осей numpy (с примерами)


Многие функции в NumPy требуют указания оси, вдоль которой будут применяться определенные вычисления.

Обычно применяется следующее эмпирическое правило:

  • axis=0 : применить расчет «на столбец».
  • axis=1 : применить расчет «по строке».

На следующем изображении показано визуальное представление осей матрицы NumPy с 2 строками и 4 столбцами:

Оси NumPy

В следующих примерах показано, как использовать аргумент оси в различных сценариях со следующей матрицей NumPy:

 import numpy as np

#create NumPy matrix
my_matrix = np. matrix ([[1, 4, 7, 8], [5, 10, 12, 14]])

#view NumPy matrix
my_matrix

matrix([[ 1, 4, 7, 8],
        [5, 10, 12, 14]])

Пример 1. Нахождение среднего значения по разным осям

Мы можем использовать axis=0 , чтобы найти среднее значение каждого столбца матрицы NumPy:

 #find mean of each column in matrix
n.p. mean (my_matrix, axis= 0 )

matrix([[ 3. , 7. , 9.5, 11. ]])

Выходные данные показывают среднее значение каждого столбца матрицы.

Например:

  • Среднее значение первого столбца равно (1 + 5)/2 = 3 .
  • Среднее значение второго столбца равно (4 + 10)/2 = 7 .

И так далее.

Мы также можем использовать axis=1 , чтобы найти среднее значение каждой строки матрицы:

 #find mean of each row in matrix
n.p. mean (my_matrix, axis= 1 )

matrix([[ 5. ],
        [10.25]])

Выходные данные показывают среднее значение каждой строки матрицы.

Например:

  • Среднее значение в первой строке равно (1+4+7+8)/4 = 5 .
  • Среднее значение во второй строке равно (5+10+12+14)/4 = 10,25 .

Пример 2: Нахождение суммы по разным осям

Мы можем использовать axis=0 , чтобы найти сумму каждого столбца матрицы:

 #find sum of each column in matrix
n.p. sum (my_matrix, axis= 0 )

matrix([[ 6, 14, 19, 22]])

Выходные данные показывают сумму каждого столбца матрицы.

Например:

  • Сумма первого столбца равна 1 + 5 = 6 .
  • Сумма второго столбца равна 4 + 10 = 14 .

И так далее.

Мы также можем использовать axis=1 , чтобы найти сумму каждой строки матрицы:

 #find sum of each row in matrix
n.p. sum (my_matrix, axis= 1 )

matrix([[20],
        [41]])

Выходные данные показывают сумму каждой строки матрицы.

Например:

  • Сумма первой строки равна 1+4+7+8 = 20 .
  • Сумма второй строки равна 5+10+12+14 = 41 .

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные операции в NumPy:

Как создать матрицу NumPy со случайными числами
Как нормализовать матрицу NumPy
Как добавить строку в матрицу в NumPy

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *