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