numpy.ma.apply_over_axes
-
ma.apply_over_axes(func, a, axes)[source] -
Применение функции многократно по нескольким осям.
funcвызывается какres = func(a, axis), гдеaxis— первый элементaxes. Результатresвызова функции должен иметь такие же размеры, как уa, или на один размер меньше. Если уresна один размер меньше, чем уa, передaxisдобавляется размер. Вызовfuncповторяется для каждой оси вaxes, сresв качестве первого аргумента.- Параметры
-
-
funcfunction -
Эта функция должна принимать два аргумента,
func(a, axis). -
aarray_like -
Входной массив.
-
axesarray_like -
Оси, по которым применяется
func; элементы должны быть целыми числами.
-
- Возвращает
-
-
apply_over_axisndarray -
Массив вывода. Количество измерений такое же, как у
a, но форма может быть другой. Это зависит от того, изменяет лиfuncформу своего результата по отношению к его входным данным.
-
См. также
-
apply_along_axis -
Применение функции к 1-мерным срезам массива вдоль заданной оси.
Примеры
>>> a = np.ma.arange(24).reshape(2,3,4) >>> a[:,0,1] = np.ma.masked >>> a[:,1,:] = np.ma.masked >>> a masked_array( data=[[[0, --, 2, 3], [--, --, --, --], [8, 9, 10, 11]], [[12, --, 14, 15], [--, --, --, --], [20, 21, 22, 23]]], mask=[[[False, True, False, False], [ True, True, True, True], [False, False, False, False]], [[False, True, False, False], [ True, True, True, True], [False, False, False, False]]], fill_value=999999) >>> np.ma.apply_over_axes(np.ma.sum, a, [0,2]) masked_array( data=[[[46], [--], [124]]], mask=[[[False], [ True], [False]]], fill_value=999999)Аргументы осей кортежа для ufunc эквивалентны:
>>> np.ma.sum(a, axis=(0,2)).reshape((1,-1,1)) masked_array( data=[[[46], [--], [124]]], mask=[[[False], [ True], [False]]], fill_value=999999)
© 2005–2021 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.20/reference/generated/numpy.ma.apply_over_axes.html