Spec-Zone.ru › NumPy 1.12

numpy.ma.apply_along_axis

numpy.ma.apply_along_axis(func1d, axis, arr, *args, **kwargs) [source]

Применить функцию к 1-D срезам вдоль заданной оси.

Выполнить func1d(a, *args) где func1d работает с 1-D массивами, а a — это 1-D срез arr вдоль axis.

Параметры:

func1d : функция

Эта функция должна принимать 1-D массивы. Она применяется к 1-D срезам arr вдоль указанной оси.

axis : целое число

Ось, вдоль которой выполняется срез arr.

arr : массив ndarray

Входной массив.

args : любые

Дополнительные аргументы для func1d.

kwargs : любые

Дополнительные именованные аргументы для func1d.

Введено в версии 1.9.0.

Возвращает:

apply_along_axis : массив ndarray

Выходной массив. Формат outarr идентичен форме arr, за исключением измерения axis, где длина outarr равна размеру возвращаемого значения func1d. Если func1d возвращает скаляр, outarr будет иметь на одну размерность меньше, чем arr.

См. также

apply_over_axes
Применить функцию многократно по нескольким осям.

Примеры

>>> def my_func(a):
...     """Average first and last element of a 1-D array"""
...     return (a[0] + a[-1]) * 0.5
>>> b = np.array([[1,2,3], [4,5,6], [7,8,9]])
>>> np.apply_along_axis(my_func, 0, b)
array([ 4.,  5.,  6.])
>>> np.apply_along_axis(my_func, 1, b)
array([ 2.,  5.,  8.])

Для функции, которая не возвращает скаляр, число измерений в outarr такое же, как arr.

>>> b = np.array([[8,1,7], [4,3,9], [5,2,6]])
>>> np.apply_along_axis(sorted, 1, b)
array([[1, 7, 8],
       [3, 4, 9],
       [2, 5, 6]])

© 2008–2017 NumPy Developers
Licensed under the NumPy License.
https://docs.scipy.org/doc/numpy-1.12.0/reference/generated/numpy.ma.apply_along_axis.html

Spec-Zone.ru

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