这个 努比。沿_轴应用_() 函数帮助我们将所需函数应用于给定数组的1D切片。 1d_func(ar,*args): 适用于一维阵列,其中 应收账 是1D的切片 啊 沿着轴线。
null
语法:
numpy.apply_along_axis(1d_func, axis, array, *args, **kwargs)
参数:
1d_func : the required function to perform over 1D array. It can only be applied in 1D slices of input array and that too along a particular axis. axis : required axis along which we want input array to be slicedarray : Input array to work on *args : Additional arguments to 1D_function **kwargs : Additional arguments to 1D_function
*args和**kwargs实际上是什么?
这两种方法都允许向函数传递变量数量的参数。 *args: 允许向函数发送非关键字变长参数列表。
python
# Python Program illustrating # use of *args args = [ 3 , 8 ] a = list ( range ( * args)) print ( "use of args : " , a) |
输出:
use of args : [3, 4, 5, 6, 7]
**kwargs: 允许您将参数的关键字可变长度传递给函数。当我们想要处理函数中的命名参数时,就使用它。
python
# Python Program illustrating # use of **kwargs def test_args_kwargs(in1, in2, in3): print ( "in1:" , in1) print ( "in2:" , in2) print ( "in3:" , in3) kwargs = { "in3" : 1 , "in2" : "No." , "in1" : "geeks" } test_args_kwargs( * * kwargs) |
输出:
in1: geeksin2: No.in3: 1
代码1:解释numpy用法的Python代码。沿_轴应用_()。
python
# Python Program illustrating # apply_along_axis() in NumPy import numpy as geek # 1D_func is "geek_fun" def geek_fun(a): # Returning the sum of elements at start index and at last index # inout array return (a[ 0 ] + a[ - 1 ]) arr = geek.array([[ 1 , 2 , 3 ], [ 4 , 5 , 6 ], [ 7 , 8 , 9 ]]) ''' -> [1,2,3] <- 1 + 7 [4,5,6] 2 + 8 -> [7,8,9] <- 3 + 9 ''' print ( "axis=0 : " , geek.apply_along_axis(geek_fun, 0 , arr)) print ( "" ) ''' | | [1,2,3] 1 + 3 [4,5,6] 4 + 6 [7,8,9] 7 + 9 ^ ^ ''' print ( "axis=1 : " , geek.apply_along_axis(geek_fun, 1 , arr)) |
输出:
axis=0 : [ 8 10 12]axis=1 : [ 4 10 16]
代码2:在NumPy Python中使用apply_沿_轴()排序
python
# Python Program illustrating # apply_along_axis() in NumPy import numpy as geek geek_array = geek.array([[ 8 , 1 , 7 ], [ 4 , 3 , 9 ], [ 5 , 2 , 6 ]]) # using pre-defined sorted function as 1D_func print ( "Sorted as per axis 1 : " , geek.apply_along_axis( sorted , 1 , geek_array)) print ( "" ) print ( "Sorted as per axis 0 : " , geek.apply_along_axis( sorted , 0 , geek_array)) |
输出:
Sorted as per axis 1 : [[1 7 8] [3 4 9] [2 5 6]]Sorted as per axis 0 : [[4 1 6] [5 2 7] [8 3 9]]
注: 这些NumPy Python程序不会在onlineID上运行,所以请在您的系统上运行它们来探索它们。
本文由 莫希特·古普塔(Mohit Gupta_OMG) .如果你喜欢GeekSforgek,并想贡献自己的力量,你也可以使用 写极客。组织 或者把你的文章寄去评论-team@geeksforgeeks.org.看到你的文章出现在Geeksforgeks主页上,并帮助其他极客。 如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写下评论。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END