3

2 つの numpy 配列があるとします。

import numpy as np
a = np.ones(5)
b = np.array([1.0, 1.1, 1.05, 1.2, 1.25])

その要素が欲しいのですが、これを aとa[1]=a[0]*b[1]呼びましょう。numpyでループを使わずにこれを行うことはできますか? ループコードを使用すると、次のようになります。a[1]new_aa[2]=new_a*b[2]

for i in range(len(a)-1):
    a[i+1] = a[i]*b[i+1]
print (a)

プリント:

[ 1.      1.1     1.155   1.386   1.7325] 
4

1 に答える 1

4

これを「累積積」といいます。これにはすでに組み込み関数cumprodがあります。

>>> numpy.cumprod([1.0, 1.1, 1.05, 1.2, 1.25])
array([ 1.    ,  1.1   ,  1.155 ,  1.386 ,  1.7325])
于 2012-10-26T16:54:17.307 に答える