M.S*_*son 0 python arrays indexing sum
我有一个大型数组中包含多个5x5数组-总体形状为:5 x 5 x29。我想对每个5 x 5数组求和以生成一个单个数组,而不是29个单个数组。
我知道您可以按照以下方式进行操作:
new_data = data1[:,:,0] + data1[:,:,1] + ... + data1[:,:,29]
Run Code Online (Sandbox Code Playgroud)
但是,这对于大型阵列而言非常麻烦。有没有更简单的方法可以做到这一点?
假设您正在使用NumPy,则应该能够执行以下操作:
In [13]: data1 = np.arange(100).reshape(5, 5, 4) # For example
In [14]: data1[:,:,0] + data1[:,:,1] + data1[:,:,2] + data1[:,:,3] # Bad way
Out[14]:
array([[ 6, 22, 38, 54, 70],
[ 86, 102, 118, 134, 150],
[166, 182, 198, 214, 230],
[246, 262, 278, 294, 310],
[326, 342, 358, 374, 390]])
In [15]: data1.sum(axis=2) # Good way
Out[15]:
array([[ 6, 22, 38, 54, 70],
[ 86, 102, 118, 134, 150],
[166, 182, 198, 214, 230],
[246, 262, 278, 294, 310],
[326, 342, 358, 374, 390]])
Run Code Online (Sandbox Code Playgroud)