给定索引下的和numpy数组

给定索引下的和numpy数组,numpy,vectorization,Numpy,Vectorization,我要添加向量的值: a = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9], dtype='d') 对于另一个向量的值: c = np.array([10, 10, 10], dtype='d') 在另一个数组(大小与a相同,值为0的数组)给定的位置,可以使用该数组获得基于ID的加权求和,然后使用c进行相加,如下所示- np.bincount(b,a) + c for I in range(b.shape[0]): J = b[I] c[J]

我要添加向量的值:

a = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9], dtype='d')
对于另一个向量的值:

c = np.array([10, 10, 10], dtype='d')
在另一个数组(大小与
a
相同,值为
0的数组)给定的位置,可以使用该数组获得基于ID的加权求和,然后使用
c
进行相加,如下所示-

np.bincount(b,a) + c
for I in range(b.shape[0]):
    J = b[I]
    c[J] += a[I]
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
np.bincount(b,a) + c