Warum funktioniert eine Zuweisung für Double-Sliced-Numpy-Arrays nicht?

Warum funktionieren die folgenden Zeilen nicht wie erwartet?

import numpy as np
a = np.array([0,1,2,1,1])
a[a==1][1:] = 3
print a
>>> [0 1 2 1 1]
# I would expect [0 1 2 3 3]

Ist das ein "Bug" oder gibt es einen anderen empfohlenen Weg dazu?

Andererseits funktioniert folgendes:

a[a==1] = 3
print a
>>> [0 3 2 3 3]

Prost, Philipp

Antworten auf die Frage(4)

Ihre Antwort auf die Frage