对多个numpy数组逐元素应用函数

1 投票
1 回答
1814 浏览
提问于 2025-04-18 01:14

假设我有两个大小相同的numpy数组,比如:

a = np.ones((4,))
b = np.linspace(0,4,4)

还有一个函数,它是用来对这两个数组的每个元素进行操作的:

def my_func (x,y):
   # do something, e.g.
   z = x+y
   return z

我该如何把这个函数应用到数组的每个元素上,并得到结果呢?

1 个回答

1

这要看具体情况。比如说,如果你有一个简单的函数,比如 'a+b',那就简单多了。不过你可能想的会更复杂一些。

最通用的解决办法是用 np.vectorize,但这个方法也是最慢的。根据你想要做的事情,可能还有更聪明的解决方案。比如可以看看 numexp。

撰写回答