我想将函数应用于矩阵中的每一列.我想使用带参数的函数,但我不知道如何做,我尝试的事情以错误结束.
代码我跑了
import numpy as np
M = np.array([[1,2,3,4],
[1,2,3,4],
[1,2,3,4],
[1,2,3,4]])
def my_function(arr, arg="default"):
print arg
return arr
def my_function_allong_axis(M, argument):
return np.apply_along_axis(my_function, axis=0, arr=M, arg=argument)
my_function_allong_axis(M, "something else")
Run Code Online (Sandbox Code Playgroud)
这将产生TypeError:apply_along_axis()得到一个意外的关键字参数'arg'
解决方案:
def my_function_allong_axis(M, argument):
return np.apply_along_axis(my_function, 0, M, argument)
Run Code Online (Sandbox Code Playgroud)
关键字参数是问题所在,因为旧的 numpy
| 归档时间: |
|
| 查看次数: |
1786 次 |
| 最近记录: |