为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

ITMISS 2021-12-17 10:25:45
假设我们有一个 3 行 2 列的矩阵 as mat,我想在每 3 行上应用what_functions_to_apply_list我定义的 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)
查看完整描述

1 回答

?
互换的青春

TA贡献1797条经验 获得超6个赞

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


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]


查看完整回答
反对 回复 2021-12-17
  • 1 回答
  • 0 关注
  • 213 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号