这一篇我们主要来介绍如何来处理数据中的缺失值。
在真实世界的项目中,我们经常会碰到数据缺失,不完整的情况,用pandas就可以进行比较完善的处理。
pandas处理的缺失值类型主要有两种:
A.None,Python对象类型的缺失值。
B.NaN,not a number,非数字。
而这两种类型是可以互相转换的。区别在于,None无法进行运算,会返回异常;NaN是一种特殊类型的浮点数,可以进行计算,尽管有时没有意义。
我们要处理缺失值,首先要发现它。发现缺失值有2种方法,isnull()和notnull()。
如上图,缺失值返回True,正常值返回False。还可以用notnull来筛选非缺失值:
发现缺失值后,我们有2种方法可以处理它。一种是删除(dropna),一种是填充(fillna)。
而在DataFrame中,如果直接使用dropna(),会将整行或整列全部删掉。如果添加‘how=all’,则整行或整列全部为缺失值才会删除。
我们再来看看填充:
现在假设我们要用现有数据的平均值来填充缺失值,可以进行如下操作:
可以看到,b、d对应的值被填充为a、c、e的均值2.
除此之外,我们还可以从前往后进行填充:
我们也可以从后往前填充:
好了,这就是今天的内容,下次再会。
领取专属 10元无门槛券
私享最新 技术干货