Как уже отмечали другие, вам нужно явно запросить копию , когда вы имеете дело с подобными коллекциям объектами в python.То же поведение, которое вы видите здесь, может происходить и со списками и словарями.У Numpy есть хороший вспомогательный метод numpy.copy (), который должен решить ваши проблемы.
# one way
temp1 = temp.copy()
#another way
temp1 = numpy.copy(temp)
Чтобы добавить что-то, что мне показалось полезным, вы можете сохранить саму маску, а затем применить ее умножением.
mask = temp < 2
masked_temp = temp * mask
Это полезно в том случае, если вы хотите визуализировать или повторно использовать эту маску и делает проблему копирования ранее неактуальной (поскольку masked_temp является не копией, а вновь вычисляемым массивом).