1. 程式人生 > >Python基礎——NaN(Not a Number)

Python基礎——NaN(Not a Number)

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!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不是naninf-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
           

給我老師的人工智慧教程打call!http://blog.csdn.net/jiangjunshow

這裡寫圖片描述