由于人为失误或机器故障,可能会导致某些数据丢失。在数据分析时应注意检查有没有缺失的数据,如果有则将其删除或替换为特定的值,以减小对最终数据分析结果的影响。
DataFrame结构支持使用dropna()方法丢弃带有缺失值的数据行,或者使用fillna()方法对缺失值进行批量替换,也可以使用loc()、iloc()方法直接对符合条件的数据进行替换。
dropna()方法的语法为:
dropna(axis=0, how='any', thresh=None, subset=None, inplace=False)
其中,参数how='any'时表示只要某行包含缺失值就丢弃,how='all'时表示某行全部为缺失值才丢弃;参数thresh用来指定保留包含几个非缺失值数据的行;参数subset用来指定在判断缺失值时只考虑哪些列。
用于填充缺失值的fillna()方法的语法为:
fillna(value=None, method=None, axis=None, inplace=False, limit=None, downcast=None, **kwargs)
其中,参数value用来指定要替换的值,可以是标量、字典、Series或DataFrame;参数method用来指定填充缺失值的方式,值为'pad'或'ffill'时表示使用扫描过程中遇到的最后一个有效值一直填充到下一个有效值,值为'backfill'或'bfill'时表示使用缺失值之后遇到的第一个有效值填充前面遇到的所有连续缺失值;参数limit用来指定设置了参数method时最多填充多少个连续的缺失值;参数inplace=True时表示原地替换。
本文重点演示fillna()方法的用法。