Объяснение:
Наны не равны между собой (по стандарту IEEE 754), даже сам объект с значением Нан не равен себе же. Код:
a = np.nan
print(a == a)
Выведет False
то есть == использовать нельзя, как вариант можно использовать оператор is
Исправление:
Import numpy as np
a = [1, np.nan, 3, 4, np.nan]
for i in range(len(a)):
if a[i] is np.nan:
a[i] = 10
print(a)#CodeDetective_MLinside