将多维的numpy数组添加到一个数组中

4
我有一个形状为 (5, 6192, 1) 的多维 numpy 数组,基本上是将长度为 6192 的 5 个数组合并成一个数组。
我该如何将所有数组的元素相加得到一个长度为 6192 的数组。 例如,如果这 5 个数组如下:
ar1 = [1,2,3...]
ar2 = [1,2,3...]
ar3 = [1,2,3...]
ar4 = [1,2,3...]
ar5 = [1,2,3...]

我希望我的最终数组看起来像这样:
ar = [5,10,15,...]

对于每个内部数组,将每个相同位置的值相加到一个新值中,该新值是该位置上所有值的总和,形成最终数组。

我猜它的形状应该是 shape(1,6192,1)。


您的输入不清楚,您是否有一个列表的列表?数组列表?多维数组? - mozway
1个回答

2

如果我理解正确,只需使用numpy.sum

ar1 = [1,2,3]
ar2 = [1,2,3]
ar3 = [1,2,3]
ar4 = [1,2,3]
ar5 = [1,2,3]

arrays = [ar1, ar2, ar3, ar4, ar5]

ar = np.sum(arrays, axis=0)

输出结果:array([ 5, 10, 15])

如果您所描述的形状确实正确:

arr = np.array(arrays).reshape((5, 3, 1))
print(arr.shape)
# (5, 3, 1)

ar = np.sum(arr, axis=0)[None,:]

print(ar.shape)
# (1, 3, 1)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接