Ich möchte genau ein Element in jeder Zeile eines zweidimensionalen Array dekrementieren, mit einigen Indizes, einer für jede Zeile. Also im Grunde möchte ich folgendes vektorisiert werden:Ändern Sie ein Element in jeder Zeile eines numpy Array nach Spaltenindizes
for row, col in enumerate(indices):
array[row,col] -= 1
Ich kann die Elemente auswählen, die ich ändern möchten numpy.choose
verwenden, aber dann leider nur die Elemente kopiert werden. Oder mit anderen Worten, so etwas wie das funktioniert nicht:
selection = np.choose(indices, array.T)
selection -= 1
kühlen. Ich schätze, wir können den Bereich nicht loswerden. – purefanatic
Nein, wir können es nicht loswerden. Ein solches Range-Array zu erstellen, ist nicht wirklich teuer. – Divakar