关于python:设置要累积求和的数组元素数量的限制?

Setting a limit on the number of array elements to be cumulatively summed?

本问题已经有最佳答案,请猛点这里访问。

我有一个长度为5的数组,例如

1
array = [1,2,6,4,3]

我想要的是一个新的数组,它将以前的值的最大集合数相加,即3:

1
return_array = [1,3,9,12,13]

使用numpy的"cumsum"函数似乎是一个很好的起点,但是它似乎仅限于求和整个元素范围,给出:

1
2
cumsum_array = np.cumsum(array)
cumsum_array = [1,3,9,13,16]

我错过什么了吗?


我会用zip来做这个:

1
2
3
4
a_ = [0] * 2 + a
list(map(sum, zip(a_, a_[1:], a_[2:])))

> [1, 3, 9, 12, 13]