Pandas使用这些函数处理缺失值:
- isnull和notnull:检测是否是空值,可用于df和series
- dropna:丢弃、删除缺失值
- axis : 删除行还是列,{0 or ‘index’, 1 or ‘columns’}, default 0
- how : 如果等于any则任何值为空都删除,如果等于all则所有值都为空才删除
- inplace : 如果为True则修改当前df,否则返回新的df
- fillna:填充空值
- value:用于填充的值,可以是单个值,或者字典(key是列名,value是值)
- method : 等于ffill使用前一个不为空的值填充forword fill;等于bfill使用后一个不为空的值填充backword fill
- axis : 按行还是列填充,{0 or ‘index’, 1 or ‘columns’}
- inplace : 如果为True则修改当前df,否则返回新的df
检测空值
df.isnull()
df["分数"].isnull()
df["分数"].notnull()
df.loc[df["分数"].notnull(), :]
***常用:df.info()和df.ismull().sum()
删除空值的行
df.dropna(axis="index", how=\'all\', inplace=True)
参数how=\'any\'是这行或这列中有一个空值就删除整行或整列
查看重复的行
df.duplicated()
删除重复的行
空值计算
填充空值
所有空值填充0
df.loc[:, \'分数\'] = df[\'分数\'].fillna(0)
使用前面的有效值填充,用ffill:forward fill
studf.loc[:, \'姓名\'] = studf[\'姓名\'].fillna(method="ffill")
参数method = "bfill"使用后面的有效值填充