numpy乘法不起作用

时间:2014-03-28 01:10:50

标签: python math numpy

我想知道如何逐步增加一个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] ..等等

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]