The difference between axes and axis is, axes are a plural form, and an axis is a singular form. This means, in this function, we can mention axes on which we want to perform our operation.

**Numpy apply_over_axes**

The np.apply_over_axes() is a built-in Numpy library function used to perform any function over multiple axes in an nd-array repeatedly. The apply_over_axes() method applies the function frequently over multiple axes in an array.

**Syntax**

numpy.apply_along_axis(1d_func, array, axes, *args, **kwargs)

**Parameters**

The NumPy apply_over_axes() function have 5 parameters:

**1d_func:**This parameter is required to operate the 1D array. It can be applied in the 1D slices of an input array and along the particular axis.**array:**This is an array on which we want to work.**axis: These are the required axes along which we want to operate.**

- *
**args**: This is the additional argument to 1D function (1d_func). ****kwargs: Additional named argument to 1D function (1d_func).**

**Return Value**

The NumPy apply_over_axes() function returns an output array. The shape of the output array can differ depending on whether the function (1d_func) changes the shape of its output as per its input.

**Calculate the sum of 2D-array**

See the following code.

#Importing numpy import numpy as np #We will create a 2D array #Of shape 4x3 arr = np.array([(1, 10, 3), (14, 5, 6), (7, 8, 19), (50, 51, 52)]) #Printing the array print("The array is: ") print(arr) #Declaring axes axes = [1, -1] print("Sum of array elements are:") print(np.apply_over_axes(np.sum, arr, axes))

**Output**

The array is: [[ 1 10 3] [14 5 6] [ 7 8 19] [50 51 52]] Sum of array elements are: [[ 14] [ 25] [ 34] [153]]

**Explanation**

In this example, we have declared one 2D array of size 4×3, we have printed it and its shape.

We have declared axes=[1,-1] and called apply_over_axes() to calculate the sum of its elements. We can see that we have got a column of 4rows; each column has the sum of its row elements.

**Calculate the sum of the 3D array**

See the following code.

#Importing numpy import numpy as np #We will create a 2D array #Of shape 4x3 arr = np.arange(12).reshape(2, 2, 3) #Printing the array print("The array is: ") print(arr) #Declaring axes axes = [0, 2] print("Sum of array elements are:") print(np.apply_over_axes(np.sum, arr, axes))

**Output**

The array is: [[[ 0 1 2] [ 3 4 5]] [[ 6 7 8] [ 9 10 11]]] Sum of array elements are: [[[24] [42]]]

**Explanation**

In this example, we have first declared one 3D array of shapes (2x2x3), and we have printed that array.

We have declared axes with values [0,2], calculating the sum over axes 0 and 2.

We can see that we have the desired output when we have called the function.