对多个numpy数组逐元素应用函数
假设我有两个大小相同的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。