【发布时间】:2012-09-04 15:26:39
【问题描述】:
我希望模拟numpy.cumsum() 的功能,但我需要捕获值的累积平方。
例如:我有一个数组是 [1,2,3,4]。
我可以使用numpy.cumsum(array) 来返回array([1,3,6,10])。我的目标是使用一些快速的 numpy 技巧来获得值的累积平方。
在纯 Python 中使用列表:
>>> y = [1,2,3,4]
>>> sqVal = 0
>>> for val in y:
... sqVal += val*val
... print sqVal
...
1
5
14
30
我试过numpy.cumprod(),但那是累积乘积,而不是值的累积平方和。我使用 NumPy 的愿望纯粹是基于速度。使用 cumsum() 比使用 for 循环快得多(这是有道理的)。
【问题讨论】:
标签: python optimization numpy multidimensional-array cumsum