工作中少不了各种缺失数据,对其进行处理的方式也可以是各有不同
概览
- dropna : 对缺失数据进行过滤
- fillna :以特定的方式补充缺失数据
- isnull :返回布尔对象
- notnull: isnull的否定
1、删除缺失数据dropna()
import pandas as pd
import numpy as np
data = pd.DataFrame([[2.3, 6.6, 3.7], [1., np.nan, np.nan],
[np.nan, np.nan, np.nan], [np.nan, 6.5, 4.]])
data2 = data.dropna()
data
# 默认是对行进行处理,有空值就会删除
data2
# how =“all”,全部是空值这一行才删除
data.dropna(how='all')
# 丢弃列 axis =1
data['临时'] =np.nan
data
data.dropna(axis =1,how='all')
# thresh可以只删除部分的缺失值的行,(对列不起效)
data.dropna(thresh = 2)
2、填补缺失数据 fillna()
# 用0填充,inplace =True可以实现源数据的修改
data.fillna(0)
# 调用字典,不同的列实现不同的填充
data.fillna({
2:'#',"临时":"%%"})
method = ffill,limit=2 也可以进行定制化限制
- value:用固定的值填充
- method: 插值方式,未指定的话默认是ffill
- axis:待填充的轴,默认axis =0
- inplace:数据源上修改
- limit:(向前向后填充),可以连续填充的最大数量
更详细的源代码和阅读体验可以转至GitHub