Fork me on github

第七章 缺失数据

一、缺失值的统计和删除

  1. 缺失信息的统计
    缺失数据可以使用 isna 或 isnull (两个函数没有区别)来查看每个单元格是否缺失
    如果想要查看某一列缺失或者非缺失的行,可以利用 Series 上的 isna 或者 notna 进行布尔索引
    如果想要同时对几个列,检索出全部为缺失或者至少有一个缺失或者没有缺失的行,可以使用 isna, notna 和 any, all 的组合。
  2. 缺失信息的删除
    数据处理中经常需要根据缺失值的大小、比例或其他特征来进行行样本或列特征的删除, pandas 中提供了 dropna 函数来进行操作。
    dropna 的主要参数为轴方向 axis (默认为0,即删除行)、删除方式 how 、删除的非缺失值个数阈值 thresh ( 非缺失值 没有达到这个数量的相应维度会被删除)、备选的删除子集 subset ,其中 how 主要有 any 和 all 两种参数可以选择。
    二、缺失值的填充和插值
  3. 利用fillna进行填充
    在 fillna 中有三个参数是常用的: value, method, limit 。其中, value 为填充值,可以是标量,也可以是索引到元素的字典映射; method 为填充方法,有用前面的元素填充 ffill 和用后面的元素填充 bfill 两种类型, limit 参数表示连续缺失值的最大填充次数。
    对于 interpolate 而言,除了插值方法(默认为 linear 线性插值)之外,有与 fillna 类似的两个常用参数,一个是控制方向的 limit_direction ,另一个是控制最大连续缺失值插值个数的 limit 。其中,限制插值的方向默认为 forward ,这与 fillna 的 method 中的 ffill 是类似的,若想要后向限制插值或者双向限制插值可以指定为 backward 或 both 。
    三、Nullable类型
  4. 缺失记号及其缺陷3. 缺失数据的计算和分组
    当调用函数 sum, prob 使用加法和乘法的时候,缺失数据等价于被分别视作0和1
    从字面意义上看 Nullable 就是可空的,言下之意就是序列类型不受缺失值的影响。
posted on 2021-01-03 22:09  markyle  阅读(172)  评论(0编辑  收藏  举报