Spec-Zone.ru › NumPy 1.11

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–2016 NumPy Developers
Licensed under the NumPy License.
https://docs.scipy.org/doc/numpy-1.11.0/reference/generated/numpy.ma.apply_along_axis.html

Spec-Zone.ru

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