Ich habe ein Array:Wie akkumuliert man ein Array nach Index in numpy?
a = np.array([0,0,0,0,0,0])
ich ein anderes Array in jeden Index eines hinzufügen mag, während der Index mehr als ein Mal erscheinen. Ich möchte einige von jedem Index bekommen. Ich schreibe:
a[np.array([1,2,2,1,3])] += np.array([1,1,1,1,1])
sondern erhalten eine sein:
array([0, 1, 1, 1, 0, 0])
Aber was ich will, ist zu bekommen:
array([0, 2, 2, 1, 0, 0])
Wie dies ohne Schleife in numpy implementieren?
Ehrfürchtig. Ich habe sogar 'np.add.reduceat' angeschaut, aber ich habe nicht zu viel Zeit mit den' ufunc' Methoden verbracht, daher kenne ich die meisten nicht. Die [Dokumentation] (http://docs.scipy.org/doc/numpy/reference/generated/numpy.ufunc.at.html) hier ist sogar perfekt ... "Für die Addition ufunc ist diese Methode äquivalent zu [ Indizes] + = b, außer dass die Ergebnisse für Elemente gesammelt werden, die mehr als einmal indiziert sind. " – mgilson
Danke, genau das möchte ich. – maple