填充缺失值和空值的方式有很多种,比如人工填写、热卡填充等,Pandas中的fillna()方法可以实现填充空值或缺失值。
fillna(value=None, method=None, axis=None, inplace=False, limit=None, downcast=None, **kwargs)
method参数不能与value参数同时使用。
name | score |
---|---|
agou | NaN |
None | 78.0 |
ahua | 89.0 |
有一张表格里存在缺失值,如果使用常量99.0来替换缺失值,那么填充前后的效果如下图所示。
name | score |
---|---|
agou | 99.0 |
99.0 | 78.0 |
ahua | 89.0 |
通过fillna()方法填充常量的示例如下:
# 使用99.0替换缺失值 df_obj.fillna('99.0')
显然name列不适合用99.0来填充,我们可以指定某列的填充值
# 指定列填充数据 df_obj.fillna({'name': 'someone', 'score': 99.0})
结果:
name | score |
---|---|
agou | 99.0 |
someone | 78.0 |
ahua | 89.0 |
通过fillna()方法采用前向填充的方式替换空值或缺失值,示例如下:
# 使用前向填充的方式替换空值或缺失值 df.fillna(method='ffill')