nanをイコールで比較しようとしてもうまくいきません。nanはなにと比較しても(自分同士の比較でも)Falseになるような性質を持っているからです。
>>> import numpy as np >>> np.nan == np.nan False
pythonに限らず、おそらく大半のプログラミング言語で同様の仕様のはずです。
細かい話はここなどに載っています。
だからisnanなんて関数を用意している、ということですね。
x == np.nanみたいなものを書くとハマるので注意が必要です。
nanは厄介なので、いろいろ気をつける必要があるということですね。