处理丢失数据
None与np.nan的区别
- None
None是Python自带的,类型为Python object所以无法参与到运算中
- np.nan
np.nan是浮点型float可以参与到计算中,计算结果为NaN
pandas中的None与np.nan
在pandas中不管是None或者是np.nan都视为NaN
如果是进行运算比如Series(DataFrame).sum()只会返回nan,如果用的是nansum()函数
则nan会被视为0
pandas中对于nan的操作
- isnull()返回一个与原列表一样的列表,但元素如果是存在则为False,为nan则为True
- notnull()与isnull()相反
- dropna()会将列表中的每行只要有存在nan就过滤掉,可以通过axis改变对行操作或对列操作,1位对列操作0位对行操作默认为0,也可以通过控制how参数是为any或者all,
any即为有一个为nan就过滤,all即全为nan过滤 - fillna()里面有参数value,会用value的值去替换nan,参数method,如果为ffill则为用nan前面的值替换nan,如果为bfill则用nan下面的值替换nan,axis可改变方向
网友评论