2017-01-11 10 views
0

NaNが「Not a Number」であることを理解しています。それで、何らかの例外を投げずに式に受け入れられるのはなぜですか?私は不都合なデータを扱う際にこの利便性を理解していますが、数学的な状況ではなぜゼロとして扱われませんか?代わりに、他のすべてをNaNに変えるブラックホールのようなものです。数式でnumpy NaNがTypeErrorを生成しないのはなぜですか?

例:

x = 5 
y = np.NaN 
z = x + y 
print(z) 

nan 
+4

浮動小数点標準ではNaNが定義されているためです。また、数字ではない数字は数字ではありません。 (モジュロシグナリングと非シグナリングNaNの違いはありますが、ほとんどのソフトウェアはシグナリングNaNを実際にサポートしていません) – Max

+0

http://stackoverflow.com/questions/41486495/why-is-nan-considered-smaller-than-np-inf-in -numpy and links – hpaulj

+2

NaNの全体的なポイントは永続的であることです。各ステップの後にチェックするのではなく、途中で何か問題が生じたかどうかを確認するために、計算の最終結果を確認するだけです。 – jasonharper

答えて

0

名前はNaNには「非数」の略で、そうNaNを持つすべての算術計算がNaNを返す0に等しくない状態として。通常の場合、NaNはデータが欠落していることを意味します。言及された@ maxと同じように、Numpyは、算術のための2進浮動小数点IEEE規格(IEEE 754)を使用しています。ここで詳細を知ることができます。Numpy NA

関連する問題