Spec-Zone.ru › NumPy 1.19

numpy.ma.apply_over_axes

numpy.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

Применение функции к одномерным срезам массива вдоль заданной оси.

Примеры

>>> 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)

Аргументы оси кортежа для ufuncs эквивалентны:

>>> np.ma.sum(a, axis=(0,2)).reshape((1,-1,1))
masked_array(
  data=[[[46],
         [--],
         [124]]],
  mask=[[[False],
         [ True],
         [False]]],
  fill_value=999999)

© 2005–2020 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.19/reference/generated/numpy.ma.apply_over_axes.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API