Итак, у меня есть 2D-массив numpy (256,256), содержащий значения от 0 до 10, что по существу является изображением. Мне нужно удалить значения 0 и установить их в NaN, чтобы я мог построить массив с использованием определенной библиотеки (APLpy). Однако всякий раз, когда я пытаюсь изменить все значения 0, некоторые из других значений меняются, в некоторых случаях до 100 раз их первоначального значения (не знаю, почему).Значения, изменяемые в массиве numpy
код я использую:
for index, value in np.ndenumerate(tex_data):
if value == 0:
tex_data[index] = 'NaN'
где tex_data является массив данных, из которой нужно удалить нули. К сожалению, я не могу просто использовать маску для значений, которые мне не нужны, поскольку APLpy не будет использовать маскированные массивы, насколько я могу судить.
В любом случае я могу установить значения 0 в NaN без изменения других значений в массиве?
Вы уверены, что это основано на вашей петле? Я пробовал для себя и не наблюдал этого эффекта. – Lagerbaer
Да, я действительно не знаю, что происходит –
Можете ли вы предоставить пример кода и данных? Если мы не можем реплицировать, то мы не можем помочь O_O – Lagerbaer