Many functions in NumPy require that you specify an axis along which to apply a certain calculation.
Typically the following rule of thumb applies:
- axis=0: Apply the calculation “column-wise”
- axis=1: Apply the calculation “row-wise”
The following image shows a visual representation of the axes on a NumPy matrix with 2 rows and 4 columns:
The following examples show how to use the axis argument in different scenarios with the following NumPy matrix:
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]])
Example 1: Find Mean Along Different Axes
We can use axis=0 to find the mean of each column in the NumPy matrix:
#find mean of each column in matrix
np.mean(my_matrix, axis=0)
matrix([[ 3. , 7. , 9.5, 11. ]])
The output shows the mean value of each column in the matrix.
For example:
- The mean value of the first column is (1 + 5) / 2 = 3.
- The mean value of the second column is (4 + 10) / 2 = 7.
And so on.
We can also use axis=1 to find the mean of each row in the matrix:
#find mean of each row in matrix
np.mean(my_matrix, axis=1)
matrix([[ 5. ],
[10.25]])
The output shows the mean value of each row in the matrix.
For example:
- The mean value in the first row is (1+4+7+8) / 4 = 5.
- The mean value in the second row is (5+10+12+14) / 4 = 10.25.
Example 2: Find Sum Along Different Axes
We can use axis=0 to find the sum of each column in the matrix:
#find sum of each column in matrix
np.sum(my_matrix, axis=0)
matrix([[ 6, 14, 19, 22]])
The output shows the sum of each column in the matrix.
For example:
- The sum of the first column is 1 + 5 = 6.
- The sum of the second column is 4 + 10 = 14.
And so on.
We can also use axis=1 to find the sum of each row in the matrix:
#find sum of each row in matrix
np.sum(my_matrix, axis=1)
matrix([[20],
[41]])
The output shows the sum of each row in the matrix.
For example:
- The sum of the first row is 1+4+7+8 = 20.
- The sum of the second row is 5+10+12+14 = 41.
Additional Resources
The following tutorials explain how to perform other common operations in NumPy:
How to Create a NumPy Matrix with Random Numbers
How to Normalize a NumPy Matrix
How to Add Row to Matrix in NumPy