116

ほとんどの言語には、変数に値 NaN を割り当てるために使用できる NaN 定数があります。pythonはnumpyを使わずにこれを行うことができますか?

4

6 に答える 6

22
nan = float('nan')

これで、定数 が得られましたnan

同様に、decimal.Decimal. の NaN 値を作成できます。

dnan = Decimal('nan')
于 2013-10-15T06:05:56.370 に答える
9

"inf - inf" から NaN を取得でき、2e308 より大きい数値から "inf" を取得できるため、一般的に次のように使用しました。

>>> inf = 9e999
>>> inf
inf
>>> inf - inf
nan
于 2016-01-13T20:05:48.927 に答える
0

inf と -inf を生成するためのより一貫した (そして不透明度の低い) 方法は、再度 float() を使用することです。

>> positive_inf = float('inf')
>> positive_inf
inf
>> negative_inf = float('-inf')
>> negative_inf
-inf

float のサイズはアーキテクチャによって異なることに注意してください。そのため、9e999 のようなマジック ナンバーが機能する可能性があるとしても、その使用を避けるのがおそらく最善です。

import sys
sys.float_info
sys.float_info(max=1.7976931348623157e+308,
               max_exp=1024, max_10_exp=308,
               min=2.2250738585072014e-308, min_exp=-1021,
               min_10_exp=-307, dig=15, mant_dig=53,
               epsilon=2.220446049250313e-16, radix=2, rounds=1)
于 2016-01-21T22:02:08.367 に答える