空值在python中一般表现为以下几种形式:
(1)None
(2)“ ”
(3)NaN
在数据预处理中,一般通过以下几种方法对空值进行判断:
1、对于前两种空值,直接“=”就可以了
2、对于第三种,NaN(not a number),在数学表示上表示一个无法表示的数,这里一般还会有另一个表述inf,inf和nan的不同在于,inf是一个超过浮点表示范围的浮点数(其本质仍然是一个数,只是他无穷大,因此无法用浮点数表示,比如1/0),而nan则一般表示一个非浮点数(比如无理数):其判断方式为:
(1)、numpy 里的NaN值的判断
import numpy as np
a = np.NaN
print(type(a))
#打印输出
float
print(a == np.NaN)
print(a is np.NaN)
#打印输出
False
True
用上面两种方法判断NaN值都不太准确,最可靠的方法为math里的判断方法
print(np.isnan(a))
#打印输出
True
(2)、pandas里NaN值处理
空值:在pandas中表示为“”
缺失值:在dataFrame中为nan或者naT(缺失时间),在series中为none或者nan