Spec-Zone.ru › NumPy 1.20

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

Spec-Zone.ru

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