Python用None表示空数据,即NoneType类型,如下:In[59]:type(None)Out[59]:NoneTypeNoneType类型没有公共属性和方法:因此,None更容易理解,它是一个空类型。但是用过NumPy的肯定会接触到nan的类型,它的其他写法:NaN或者NAN,但是查看它的类型时,发现是一个float类型:In[63]:type(np.nan)Out[63]:float不禁让人疑惑,nan不是空数据,而是一个浮点数,那么等于多少呢?原来这不是NumPy的唯一值,而是IEEE754规定的特殊浮点数之一。哪里特别?有必要知道计算机是如何表示浮点数的。IEEE754标准规定float单精度浮点数在机器中表示数的符号为1位,指数为8位,尾数为23位。即小数部分,如下图所示:对于单个浮点数,指数部分由8位组成,所以取值范围:0~255,指数等于0、255。IEEE754标准有特殊规定:当指数等于0,小数点后所有位都为0,那么这个数为0当指数等于255,小数点后所有位都为0,那么这个数number为无穷大,当符号位为0时为正无穷大float('inf'),当符号位为1时为负无穷大float('-inf')当指数等于255时,且至少有一个小数点后的数字不为0,浮点数规定为nan,表达式的意思:notanumber,notanumber以上就是NumPy中对nan的解释。理清了本质,我们来看几个关于它的操作。由于nan不是数字,将其与任何浮点数进行比较并返回False:In[64]:np.nan<0Out[64]:FalseIn[65]:np.nan==np.nanOut[65]:FalseIn[66]:np.nan
