# numpy.apply_over_axes() in Python

numpy.apply_over_axes(func, array, axes) : applies a function repeatedly over multiple axes in an array.

Parameters :

```1d_func  : the required function to perform over 1D array. It can only be applied in
1D slices of input array and that too along a particular axis.
axis     : required axis along which we want input array to be sliced
array    : Input array to work on
*args    : Additional arguments to 1D_function
**kwargs : Additional arguments to 1D_function
```

Return :

```The output array. Shape of the output array can be different depending on whether func
changes the shape of its output with respect to its input.```

Code 1 :

 `# Python Program illustarting ` `# apply_over_axis() in NumPy ` ` `  `import` `numpy as geek  ` ` `  `# Using a 3D array ` `geek_array ``=` `geek.arange(``16``).reshape(``2``, ``2``, ``4``) ` `print``(``"geek array  :\n"``, geek_array) ` ` `  `# Applying pre-defined sum function over the axis of 3D array ` `print``(``"\nfunc sum : \n "``, geek.apply_over_axes(geek.``sum``, geek_array, [``1``, ``1``, ``0``])) ` ` `  `# Applying pre-defined min function over the axis of 3D array ` `print``(``"\nfunc min : \n "``, geek.apply_over_axes(geek.``min``, geek_array, [``1``, ``1``, ``0``])) `

Output :

```geek array  :
[[[ 0  1  2  3]
[ 4  5  6  7]]

[[ 8  9 10 11]
[12 13 14 15]]]

func sum :
[[[24 28 32 36]]]

func min :
[[[0 1 2 3]]]
```

Code 2 :

 `# Python Program illustarting ` `# apply_over_axis() in NumPy ` ` `  `import` `numpy as geek  ` ` `  `# Using a 2D array ` `geek_array ``=` `geek.arange(``16``).reshape(``4``, ``4``) ` `print``(``"geek array  :\n"``, geek_array) ` ` `  `""" ` `    ``->[[ 0  1  2  3]    min : 0     max : 3    sum =  0 + 1 + 2 + 3  ` `    ``-> [ 4  5  6  7]    min : 4     max : 7    sum =  4 + 5 + 6 + 7 ` `    ``-> [ 8  9 10 11]    min : 8     max : 11   sum =  8 + 9 + 10 + 11 ` `    ``-> [12 13 14 15]]   min : 12    max : 15   sum =  12 + 13 + 14 + 15 ` ` `  `"""` ` `  `# Applying pre-defined min function over the axis of 2D array ` `print``(``"\nApplying func max : \n "``, geek.apply_over_axes(geek.``max``, geek_array, [``1``, ``-``1``])) ` ` `  `# Applying pre-defined min function over the axis of 2D array ` `print``(``"\nApplying func min : \n "``, geek.apply_over_axes(geek.``min``, geek_array, [``1``, ``-``1``])) ` ` `  `# Applying pre-defined sum function over the axis of 2D array ` `print``(``"\nApplying func sum : \n "``, geek.apply_over_axes(geek.``sum``, geek_array, [``1``, ``-``1``])) `

Output :

```geek array  :
[[ 0  1  2  3]
[ 4  5  6  7]
[ 8  9 10 11]
[12 13 14 15]]

Applying func max :
[[ 3]
[ 7]
[11]
[15]]

Applying func min :
[[ 0]
[ 4]
[ 8]
[12]]

Applying func sum :
[[ 6]
[22]
[38]
[54]]```

Code 3 : Equivalent to Code 2 without using numpy.apply_over_axis()

 `# Python Program illustarting ` `# equivalent to apply_over_axis() ` ` `  `import` `numpy as geek  ` ` `  `# Using a 3D array ` `geek_array ``=` `geek.arange(``16``).reshape(``2``, ``2``, ``4``) ` `print``(``"geek array  :\n"``, geek_array) ` ` `  `# returning sum of all elements as per the axis ` `print``(``"func : \n"``, geek.``sum``(geek_array, axis``=``(``1``, ``0``, ``2``), keepdims ``=` `True``)) `

Output :

```geek array  :
[[[ 0  1  2  3]
[ 4  5  6  7]]

[[ 8  9 10 11]
[12 13 14 15]]]
func :
[[[120]]]```

References :
https://docs.scipy.org/doc/numpy-dev/reference/generated/numpy.apply_over_axes.html
Note :
These codes won’t run on online-ID. Please run them on your systems to explore the working
.
This article is contributed by Mohit Gupta_OMG 😀. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course.

My Personal Notes arrow_drop_up
Article Tags :

Be the First to upvote.

Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.