gpt4 book ai didi

python - 将多个函数应用于 numpy 数组的每一行

转载 作者:太空宇宙 更新时间:2023-11-03 21:06:30 25 4
gpt4 key购买 nike

假设我们有一个 3 行 2 列的矩阵作为 mat,我想在每 3 行上应用列表 what_functions_to_apply_list 的函数之一,其中我有他们的定义。因此,np.apply_along_axis 的输出应该是 3 行乘以函数的输出维度。

如果不以矢量化方式循环,我该如何做到这一点?

例如

def f1(inp1,inp2):
return out1, out2

哪里

 functions_dic = {'f1': func1, 'f2':func2, 'f3':func3}
what_functions_to_apply_list = ['f1','f1','f2']
funcs_inputs = [[inp11,inp12], [inp21,inp32], [inp31,inp32]]
mat = np.ones((3, 2))
np.apply_along_axis(what_functions_to_apply_list , 1, mat)

最佳答案

将函数列表直接应用于数组的行:

In [418]: alist = [np.add, np.subtract, np.multiply]                            
In [419]: data = np.arange(6).reshape(3,2)
In [420]: [foo(*ab) for foo, ab in zip(alist, data)]
Out[420]: [1, -1, 20]

关于python - 将多个函数应用于 numpy 数组的每一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55366330/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com