Python基礎——NaN(Not a Number)
阿新 • • 發佈:2018-11-02
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow
也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!
建立一個nan’變數’
>>> a = float('nan')>>> math.isnan(a)True
- 1
- 2
- 3
也可以decimal
模組:
>>> from decimal import Decimal>>> a = Decimal('nan')>>> math.isnan(a)True
- 1
- 2
- 3
- 4
最後還是我大numpy:
>>> a = np.nan>>> math.isnan(a)True
- 1
- 2
- 3
inf 與 nan
inf
不是nan
,inf-inf
-inf+inf
是nan。inf
是∞,一個比其他所有值都大的值。
>>> 2*float('inf')>>> inf>>> -2*float('inf')>>> -inf>>> float('inf') == float('inf')>>> True>>> float('inf') - float('inf')nan>>> float('inf')/float('inf')nan
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
判斷一個數是否是NaN
>>> import math>>> x = float('nan')>>> math.isnan(x)True
- 1
- 2
- 3
- 4
或者自定義一個判別函式:
def isNaN(num): return num != num
- 1
- 2
使用np.nan_to_num進行轉換
>>> np.nan_to_num(np.inf)1.7976931348623157e+308>>> np.nan_to_num(float('inf'))1.7976931348623157e+308
- 1
- 2
- 3
- 4
>>> np.nan_to_num(np.nan)0.0>>> np.nan_to_num(float('nan'))0.0
- 1
- 2
- 3
- 4