原文:https://docs.scipy.org/doc/numpy/reference/generated/numpy.apply_along_axis.html
校对:(虚位以待)
numpy.
apply_along_axis
(func1d, axis, arr, *args, **kwargs)[source]沿着给定轴向1-D切片应用函数。
Execute func1d(a, *args) where func1d operates on 1-D arrays and a is a 1-D slice of arr along axis.
参数: | func1d:function
axis:integer
arr:ndarray
args:any
kwargs:any
|
---|---|
返回: | apply_along_axis:ndarray
|
也可以看看
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]])