求两个数组的和: ary1.cumsum[:n] + ary2[n]?

问题描述 投票:0回答:1

假设我有两个相同大小的数组,我如何用numpy方式得到包含以下元素的单数组?

 a[:1].sum() + b[0] 
 a[:2].sum() + b[1]
 a[:3].sum() + b[2]
 a[:4].sum() + b[3]
 .....
python numpy sum cumsum
1个回答
2
投票

a.cumsum() + b 就可以了。

比如说

In [11]: a
Out[11]: array([3, 5, 1, 4, 2, 6, 0, 5])

In [12]: b
Out[12]: array([1, 2, 3, 4, 5, 6, 7, 8])

In [13]: a.cumsum() + b
Out[13]: array([ 4, 10, 12, 17, 20, 27, 28, 34])

相比之下,。

In [14]: [a[:k+1].sum() + b[k] for k in range(len(a))]
Out[14]: [4, 10, 12, 17, 20, 27, 28, 34]
© www.soinside.com 2019 - 2024. All rights reserved.