我想知道是否有更有效/Pythonic 的方法来添加多个 numpy 数组(2D)而不是:
def sum_multiple_arrays(list_of_arrays):
a = np.zeros(shape=list_of_arrays[0].shape) #initialize array of 0s
for array in list_of_arrays:
a += array
return a
Ps:我知道
np.add()
,但它仅适用于 2 个数组。
np.sum(list_of_arrays, axis=0)
应该可以。或者
np.add.reduce(list_of_arrays).
最简单、最 Pythonic 的解决方案就是使用
sum()
,如下所示:
sum(list_of_arrays)
我知道问题是 numpy,但这里有一个纯 python 答案,以防有人需要它。
map(sum, zip(a,b))
它返回一个生成器。
您还可以通过 list(map(sum, zip(a,b)))
获取列表