Ho un array:Come accumulare un array per indice in numpy?
a = np.array([0,0,0,0,0,0])
voglio aggiungere qualche altro array in ogni indice di una, mentre l'indice può apparire più di una volte. Voglio ottenere alcuni di ciascun indice. Scrivo:
a[np.array([1,2,2,1,3])] += np.array([1,1,1,1,1])
ma ottenere un di essere:
array([0, 1, 1, 1, 0, 0])
Ma quello che voglio è quello di ottenere:
array([0, 2, 2, 1, 0, 0])
Come implementare questo NumPy, senza per il ciclo?
Fantastico. Ho anche guardato 'np.add.reduceat', ma non ho speso troppo tempo con i metodi' ufunc', quindi non ne conosco la maggior parte. La [documentazione] (http://docs.scipy.org/doc/numpy/reference/generated/numpy.ufunc.at.html) qui è addirittura perfetta ... "Per aggiunta ufunc, questo metodo è equivalente a [ indici] + = b, eccetto che i risultati vengono accumulati per gli elementi che sono indicizzati più di una volta " – mgilson
Grazie, è esattamente ciò che voglio. – maple