web-dev-qa-db-ja.com

numpy.isnan(value)はvalue == numpy.nanと同じではありませんか?

なぜ私は以下を取得しています:

>>> v
nan
>>> type(v)
<type 'numpy.float64'>
>>> v == np.nan
False
>>> np.isnan(v)
True

私は2つが同等であるべきだと思っただろうか?

17

nan != nan。これが、nanでの等価比較の定義方法です。この結果は、他の結果よりも数値アルゴリズムの方が便利であると判断されました。これが特にisnanが存在する理由です。

11
user2357112