Простое объяснение осей numpy (с примерами)
Многие функции в NumPy требуют указания оси, вдоль которой будут применяться определенные вычисления.
Обычно применяется следующее эмпирическое правило:
- axis=0 : применить расчет «на столбец».
- axis=1 : применить расчет «по строке».
На следующем изображении показано визуальное представление осей матрицы NumPy с 2 строками и 4 столбцами:
В следующих примерах показано, как использовать аргумент оси в различных сценариях со следующей матрицей 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