数据清洗之前,我们必须先明白自己想要干什么,达成怎么样的效果,然后采取对应的方法来实现这个需求。
以下是对数据一些清洗方法介绍:
1. 查看空值
DataFrame.isna()
- DataFrame.isna()判断该表的空值情况
- DataFrame.isna().sum()汇总该表空值情况的个数
- DataFrame.isna().sum().sort_values(ascending=False)按空值个数降序显示
2. 丢弃空值
DataFrame.dropna(axis=0, how=‘any’, thresh=None, subset=None, inplace=False)
丢弃空值:
- axis
=0
,丢弃含有空值的行;=1
,丢弃含有空值的列。 - how
='any'
,(行或列)只要有元素为空,就(整行或整列)丢弃;='all'
,(行或列)必须满足所有值都为空值,才丢弃(整行或整列)。 - thresh
=10
,丢弃空值个数大于10的行或者列 - subset
=['a','b']
,a列(行)或者b列(行)中有空值就丢弃该列(行)。(指定在哪些区域操作,不指定默认是全表) - inplace
= False
,生成副本,原表不做改变;=True
,在原表里面做出改变
3. 填充空值
DataFrame.fillna(value=None, method=None, axis=None, inplace=False, limit=None)
- value
=0
,用0填充空值。 - method
='ffill'
,用空值前面的数值填充空值;='bfill'
,用空值后面的数值填充空值。(和value参数不能共用)。 - asis
='0'
,代表行;='1'
,代表列。 - limit
=10
,只填充10个空值。 - 后面不用管了。