numpy.apply_over_axes
-
numpy.apply_over_axes(func, a, axes)
[source] -
Apply a function repeatedly over multiple axes.
func
is called asres = func(a, axis)
, whereaxis
is the first element ofaxes
. The resultres
of the function call must have either the same dimensions asa
or one less dimension. Ifres
has one less dimension thana
, a dimension is inserted beforeaxis
. The call tofunc
is then repeated for each axis inaxes
, withres
as the first argument.- Parameters
-
-
funcfunction
-
This function must take two arguments,
func(a, axis)
. -
aarray_like
-
Input array.
-
axesarray_like
-
Axes over which
func
is applied; the elements must be integers.
-
- Returns
-
-
apply_over_axisndarray
-
The output array. The number of dimensions is the same as
a
, but the shape can be different. This depends on whetherfunc
changes the shape of its output with respect to its input.
-
See also
-
apply_along_axis
-
Apply a function to 1-D slices of an array along the given axis.
Notes
This function is equivalent to tuple axis arguments to reorderable ufuncs with keepdims=True. Tuple axis arguments to ufuncs have been available since version 1.7.0.
Examples
>>> a = np.arange(24).reshape(2,3,4) >>> a array([[[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11]], [[12, 13, 14, 15], [16, 17, 18, 19], [20, 21, 22, 23]]])
Sum over axes 0 and 2. The result has same number of dimensions as the original array:
>>> np.apply_over_axes(np.sum, a, [0,2]) array([[[ 60], [ 92], [124]]])
Tuple axis arguments to ufuncs are equivalent:
>>> np.sum(a, axis=(0,2), keepdims=True) array([[[ 60], [ 92], [124]]])
© 2005–2020 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.19/reference/generated/numpy.apply_over_axes.html