在进行特征工程的时候,需要对字段里的缺失值进行处理,那怎么把有缺失值的字段找出来呢?isnull()函数可以返回布尔值,再配合sum()函数使用,就能把每个字段里面缺失值的数量统计出来啦!
为什么这里用sum()函数,而不是用count()呢?因为在python里面布尔类型是int的子类,是可以进行数值运算的,True表示1,False表示0。我们检验一下:
所以用sum就可以把True的1加和起来了,得到的结果是空的条数是多少。
而count会把非空的行都计1,data.count()的运行结果是非空的条数有多少。
下面对数据集进行操作:
isnull()返回布尔值:
data.isnull()
再配合sum()函数使用:
data.isnull().sum()
运行结果如下:
还可以发现_c39字段全是空的,说明是无效字段,要把它删掉。为0的表示没有空的数据。
虽然经过检验,这份数据集没什么空数据,但数据集可能是用了其他的字符来表示空,比如问号、null等。因此还需要对字段的值进一步探索,方便后续编码的操作。