运行一维NumPy数组的累加和

13

我有一个像这样的numpy数组

x=np.array([1,2,3,4])

我想创建另一个numpy数组y,它是x的累计和,使得

y=np.array([1,3,6,10])

有什么好的Pythonic方法可以做到这一点?

2个回答

27

@Dan,我能否得到原地结果。我希望结果也在 x 中,而不是另一个数组 y 中。 - Samuel

8
另一个选择是:
y = np.add.accumulate(x)

这通常比np.cumsum更快,尽管文档说它们是等效的。


我想说,我也测试了一下,在我的系统上,累加函数的速度稍微快一些: %timeit np.add.accumulate(range(20000000)) ---> 3.06 s ± 40.1。而对于cumsum函数,我得到的结果是3.08 s ± 24.7 ms。 - yukashima huksay

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