Spec-Zone.ru › NumPy 1.21

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

Spec-Zone.ru

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