我想知道如何逐步增加一个numpy数组。对于我真正想做的事情,cumsum函数是不正确的。我想for循环可以起作用吗?
例如,如果我有以下数组
data = [1.01, 1.02, 1.08, 0.99, 0.98, 1.02]
我想通过这个数组乘以10,000但是以累积的方式......例如:
[10100, 10302, 11126.16, 11014.89, 10794.60, 11010.49]
10,000 * data [0],然后结果* data [1],然后结果* data [2] ..等等
答案 0 :(得分:8)
IIUC,你想要cumprod
:
>>> data = np.array([1.01, 1.02, 1.08, 0.99, 0.98, 1.02])
>>> data.cumprod() * 10000
array([ 10100. , 10302. , 11126.16 , 11014.8984 ,
10794.600432 , 11010.49244064])
答案 1 :(得分:1)
使用for循环:
result = 10000
for i in xrange(len(array)):
array[i] *= result
result = array[i]