1
でnumpyのアレイを和Iはベクトルの値を追加する所定の指標
c = np.array([10, 10, 10], dtype='d')
同一の別のアレイ(によって所定の位置に値0 <= b[i] < len(c)
)
b = np.array([2, 0, 1, 0, 2, 0, 1, 1, 0, 2], dtype='int32')
これは擬似コードで書くことが非常に簡単であるとa
の大きさ、 :
for I in range(b.shape[0]):
J = b[I]
c[J] += a[I]
このような何かが、ベクトル化(c
の長さは、実際のケースでは数百です)。
c[0] += np.sum(a[b==0]) # 27 (10 + 1 + 3 + 5 + 8)
c[1] += np.sum(a[b==1]) # 25 (10 + 2 + 6 + 7)
c[2] += np.sum(a[b==2]) # 23 (10 + 0 + 4 + 9)
私の最初の推測されました:
c[b] += a
が、a
の唯一の最後の値が加算されます。
感謝を! –