python中nan的比较

http://blog.sina.com.cn/s/blog_69d6c8ec0102xlor.html

 

在用numpy.sum等方法计算列表时,当列表中无目标元素,得到的为空值nan。然而不同于none,它无法用==进行判断。

NaN(not a number),在数学表示上表示一个无法表示的数,这里一般还会有另一个表述inf,inf和nan的不同在于,inf是一个超过浮点表示范围的浮点数(其本质仍然是一个数,只是他无穷大,因此无法用浮点数表示,比如1/0),而nan则一般表示一个非浮点数(比如无理数)

 

在数学上inf==inf,且inf == inf+X(X为任意浮点数),而nan != nan,因此在python中判断一个数是否是nan,可以直接判断他是否与自身相等

 

即:判断变量s是否为nan时,如下:

if s != s:

    print('s is a nan')

else:

    print('s is not a nan')

 

 

相关文章:

http://python.jobbole.com/87266/

https://blog.csdn.net/jpbirdy/article/details/52333301

你可能感兴趣的:(Python)