努比。在Python中沿_轴()应用_

这个 努比。沿_轴应用_() 函数帮助我们将所需函数应用于给定数组的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
喜欢就支持一下吧
点赞6 分享