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в качестве первого аргумента.- Параметры
-
- funcфункция
-
Эта функция должна принимать два аргумента,
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–2022 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.21/reference/generated/numpy.ma.apply_over_axes.html