у меня есть пустой массив:Векторизованная сумма массива по показателям второго массива
empty = np.array([0, 0, 0, 0, 0])
массив индексов, соответствующих позиции в моем массиве пустых
ind = np.array([2, 3, 1, 2, 4, 2, 4, 2, 1, 1, 1, 2])
и массив значений
val = np.array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1])
Я хочу добавить значения в 'val' в 'empty' в соответствии с положением, заданным 'ind'.
Не-Векторизованное решение:
for i, v in zip(ind, val): maps[i] += v
>>> maps
[ 0. 4. 5. 1. 2.]
Моих фактических массивов является многогранным и поэтому я займет слишком много у меня есть Жажды скорости Я действительно хочу Векторизованное решение, или решения, которое очень быстро ,
Примечание это не работает:
maps[ind] += val
>>> maps
array([ 0., 1., 1., 1., 1.])
Я был бы признателен за дополнительную решение, которое работает в Python 2.7, 3.5, 3.6, без икоты
это правда, что это дубликат. но мой вопрос намного понятнее. – user6794223