pandas学习笔记-第六章-缺失数据的处理方法

本文所用pandas版本是1.0.0
Pandas在步入1.0后,对数据类型也做出了新的尝试,尤其是Nullable类型和String类型,了解这些可能在未来成为主流的新特性是必要的
pandas学习笔记-第六章-缺失数据的处理方法
首先导入所需的相关库和数据
pandas学习笔记-第六章-缺失数据的处理方法head() 默认显示前5行,也可以指定显示前3行如下图
pandas学习笔记-第六章-缺失数据的处理方法
同样可以指定查看后3行数据
pandas学习笔记-第六章-缺失数据的处理方法

一、缺失观测及其类型

1. 了解缺失信息

(a)isna和notna方法

对Series使用会返回布尔列表

pandas学习笔记-第六章-缺失数据的处理方法pandas学习笔记-第六章-缺失数据的处理方法

pandas学习笔记-第六章-缺失数据的处理方法
以class为例,缺失4个数据。
pandas学习笔记-第六章-缺失数据的处理方法
从这个图知道有0-34行共35行数据,class有31个值,故缺失
35-31=4个数据,与上图结果一致。
pandas学习笔记-第六章-缺失数据的处理方法pandas学习笔记-第六章-缺失数据的处理方法pandas学习笔记-第六章-缺失数据的处理方法
pandas学习笔记-第六章-缺失数据的处理方法pandas学习笔记-第六章-缺失数据的处理方法
pandas学习笔记-第六章-缺失数据的处理方法pandas学习笔记-第六章-缺失数据的处理方法pandas学习笔记-第六章-缺失数据的处理方法
pandas学习笔记-第六章-缺失数据的处理方法pandas学习笔记-第六章-缺失数据的处理方法pandas学习笔记-第六章-缺失数据的处理方法
pandas学习笔记-第六章-缺失数据的处理方法pandas学习笔记-第六章-缺失数据的处理方法pandas学习笔记-第六章-缺失数据的处理方法pandas学习笔记-第六章-缺失数据的处理方法
pandas学习笔记-第六章-缺失数据的处理方法pandas学习笔记-第六章-缺失数据的处理方法
pandas学习笔记-第六章-缺失数据的处理方法
pandas学习笔记-第六章-缺失数据的处理方法
pandas学习笔记-第六章-缺失数据的处理方法
pandas学习笔记-第六章-缺失数据的处理方法pandas学习笔记-第六章-缺失数据的处理方法pandas学习笔记-第六章-缺失数据的处理方法
pandas学习笔记-第六章-缺失数据的处理方法
pandas学习笔记-第六章-缺失数据的处理方法
pandas学习笔记-第六章-缺失数据的处理方法pandas学习笔记-第六章-缺失数据的处理方法pandas学习笔记-第六章-缺失数据的处理方法
pandas学习笔记-第六章-缺失数据的处理方法pandas学习笔记-第六章-缺失数据的处理方法
pandas学习笔记-第六章-缺失数据的处理方法
pandas学习笔记-第六章-缺失数据的处理方法

二、缺失数据的运算与分组

pandas学习笔记-第六章-缺失数据的处理方法
pandas学习笔记-第六章-缺失数据的处理方法
pandas学习笔记-第六章-缺失数据的处理方法
pandas学习笔记-第六章-缺失数据的处理方法
pandas学习笔记-第六章-缺失数据的处理方法

三、填充与剔除

pandas学习笔记-第六章-缺失数据的处理方法
pandas学习笔记-第六章-缺失数据的处理方法
pandas学习笔记-第六章-缺失数据的处理方法
这里缺省的用每列的均值填充
pandas学习笔记-第六章-缺失数据的处理方法
这里缺省的用每列的最小值填充
pandas学习笔记-第六章-缺失数据的处理方法pandas学习笔记-第六章-缺失数据的处理方法
pandas学习笔记-第六章-缺失数据的处理方法
pandas学习笔记-第六章-缺失数据的处理方法
pandas学习笔记-第六章-缺失数据的处理方法

四、插值(interpolation)

pandas学习笔记-第六章-缺失数据的处理方法
pandas学习笔记-第六章-缺失数据的处理方法
pandas学习笔记-第六章-缺失数据的处理方法
pandas学习笔记-第六章-缺失数据的处理方法
pandas学习笔记-第六章-缺失数据的处理方法pandas学习笔记-第六章-缺失数据的处理方法
pandas学习笔记-第六章-缺失数据的处理方法
pandas学习笔记-第六章-缺失数据的处理方法
pandas学习笔记-第六章-缺失数据的处理方法

2. 高级插值方法

此处的高级指的是与线性插值相比较,例如样条插值、多项式插值、阿基玛插值等(需要安装Scipy),方法详情请看这里

关于这部分仅给出一个官方的例子,因为插值方法是数值分析的内容,而不是Pandas中的基本知识:pandas学习笔记-第六章-缺失数据的处理方法

pandas学习笔记-第六章-缺失数据的处理方法pandas学习笔记-第六章-缺失数据的处理方法
pandas学习笔记-第六章-缺失数据的处理方法
pandas学习笔记-第六章-缺失数据的处理方法下面是练习:

【练习一】现有一份虚拟数据集,列类型分别为string/浮点/整型,请解决如下问题:

(a)请以列类型读入数据,并选出C为缺失值的行。
(b)现需要将A中的部分单元转为缺失值,单元格中的最小转换概率为25%,且概率大小与所在行B列单元的值成正比。
pandas学习笔记-第六章-缺失数据的处理方法pandas学习笔记-第六章-缺失数据的处理方法pandas学习笔记-第六章-缺失数据的处理方法pandas学习笔记-第六章-缺失数据的处理方法

【练习二】 现有一份缺失的数据集,记录了36个人来自的地区、身高、体重、年龄和工资,请解决如下问题:

(a)统计各列缺失的比例并选出在后三列中至少有两个非缺失值的行。
(b)请结合身高列和地区列中的数据,对体重进行合理插值。
pandas学习笔记-第六章-缺失数据的处理方法
pandas学习笔记-第六章-缺失数据的处理方法pandas学习笔记-第六章-缺失数据的处理方法
pandas学习笔记-第六章-缺失数据的处理方法
pandas学习笔记-第六章-缺失数据的处理方法所有资源数据来源于GitHub