Spec-Zone.ru › NumPy 1.10

numpy.apply_along_axis

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

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

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

Параметры:

func1d : функция

Эта функция должна принимать 1-мерные массивы. Она применяется к 1-мерным срезам 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.10.1/reference/generated/numpy.apply_along_axis.html

Spec-Zone.ru

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