Por que uma atribuição de matrizes numpy de fatias duplas não funciona?

Por que as linhas a seguir não funcionam como eu esperava?

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]

Isso é um "bug" ou há outra maneira recomendada para isso?

Por outro lado, os seguintes trabalhos:

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

Felicidades, Philipp

questionAnswers(4)

yourAnswerToTheQuestion