基本知识点
一、缺失观测及其类型
1.df.head(n)读取前n行数据,空白不填,默认前五行
2.直接使用``isna和 notna方法,返回布尔值
3.获取每一列共有多少缺失值
(1) isna()
(2) info()
4.三种缺失符号
(1)np.nan
(2)None
(3)NaT
5.Nullable类型与NA符号
(1)Nullable整形,记为Int
(2)Nullable布尔,记为boolean
(3)string类型
6.NA的特性
(1)逻辑运算
(2)算术运算和比较运算
7.convert_dtypes方法,在读取数据时,就把数据列转为Nullable类型
二、缺失数据的运算与分组
1.加号与乘号规则
- 使用加法时,缺失值为0;
- 使用乘法时,缺失值为1;
- 使用累计函数时,缺失值自动略过;
2.groupby方法中自动忽略为缺失值的组
三、填充与剔除
1.fillna方法
2.dropna方法
四、插值
1.线性插值
问题与练习
【问题一】 如何删除缺失值占比超过25%的列?
step1:计算各列缺失量
df.isna().sum()
step2:计算缺失值占比
step3:删除占比超过25%的列
【问题二】 什么是Nullable类型?请谈谈为什么要引入这个设计?
在 处理丢失的数据部分, 我们知道pandas主要使用 NaN 来代表丢失数据。因为 NaN 属于浮点型数据,这强制有缺失值的整型array强制转换成浮点型。在某些情况下,这可能不会有太大影响,但是如果你的整型数据恰好是标识符,数据类型的转换可能会存在隐患。同时,某些整数无法使用浮点型来表示。IntegerArray目前属于实验性阶段,因此他的API或者使用方式可能会在没有提示的情况下更改。
【问题三】 对于一份有缺失值的数据,可以采取哪些策略或方法深化对它的了解?
1.了解数据缺失程度,评价其可用性;
本文的内容来自Datawhale社区Pandas组队学习项目,具体教程请查看https://github.com/datawhalechina/joyful-pandas