7 高级处理-缺失值处理

学习目标

  • 目标

    • 应用isnull判断是否有缺失数据NaN

    • 应用fillna实现缺失值的填充

    • 应用dropna实现缺失值的删除

    • 应用replace实现数据的替换


1 如何处理nan

  • 获取缺失值的标记方式(NaN或者其他标记方式)

  • 如果缺失值的标记方式是NaN

    • 判断数据中是否包含NaN:

      • pd.isnull(df),

      • pd.notnull(df)

    • 存在缺失值nan:

      • 1、删除存在缺失值的:dropna(axis='rows')

        • 注:不会修改原数据,需要接受返回值

      • 2、替换缺失值:fillna(value, inplace=True)

        • value:替换成的值

        • inplace:True:会修改原数据,False:不替换修改原数据,生成新的对象

  • 如果缺失值没有使用NaN标记,比如使用"?"

    • 先替换‘?’为np.nan,然后继续处理

2 电影数据的缺失值处理

  • 电影数据文件获取

2.1 判断缺失值是否存在

  • pd.notnull()

  • pd.isnull()

2.2 存在缺失值nan,并且是np.nan

  • 1、删除

pandas删除缺失值,使用dropna的前提是,缺失值的类型必须是np.nan

  • 2、替换缺失值

替换所有缺失值:

2.3 不是缺失值nan,有默认标记的

数据是这样的:

以上数据在读取时,可能会报如下错误:

解决办法:

处理思路分析:

  • 1、先替换‘?’为np.nan

    • df.replace(to_replace=, value=)

      • to_replace:替换前的值

      • value:替换后的值

  • 2、在进行缺失值的处理

Last updated