Предположит, три массива в NumPy:Карта массивов с повторяющимися индексами?
a = np.zeros(5)
b = np.array([3,3,3,0,0])
c = np.array([1,5,10,50,100])
б теперь может быть использован в качестве индекса для а и с. Например:
In [142]: c[b]
Out[142]: array([50, 50, 50, 1, 1])
Есть ли способ добавить значения, связанные с повторяющимися индексами с помощью такого вида нарезки? С
a[b] = c
Только последние значения сохраняются:
array([ 100., 0., 0., 10., 0.])
Я хотел бы что-то вроде этого:
a[b] += c
, который дал бы
array([ 150., 0., 0., 16., 0.])
Я картирование очень большие векторы на двумерные матрицы и действительно хотел бы избежать петель ...
Спасибо, это отлично работает! – brorfred