什么是数据清洗?
数据清洗是将采集到的数据按一定的方式进行处理,通过去除或改正错误的数据,补全缺失数据等形式,得到我们可以进一步加工、使用的数据。
数据质量的准则
- 完整性:是否存在空值,统计字段是否完整。
- 全面性:通过常识判断数据是否有问题。
- 合法性:类型,内容,大小,合法性。
-
数据清洗主要数据类型
缺失值
一般而言,缺失值处理的原则无非就是以下三种:
缺失比例较小,可直接过滤掉缺失值所在行
- 缺失比例较大,根据特定的业务理解进行一定规则的填充
-
重复值
重复值一般是由于样本重复记录或重复读取造成。当然,根据特定的分析场景和业务需求,对于重复值的处理实际上也包含两种情况:
对重复值进行过滤
-
异常值
异常值的处理首先要基于业务理解出什么情况下算作是异常值,其次还要指定异常值的处理规则,要么是对异常值所在记录进行过滤,要么是按照一定的规则进行转换,使得异常值变为”正常值”。
常用的异常值判断规则包括如下几类: 基于数值范围,对于取值连续的情形,可判断数值的绝对大小是否在合理范围,分布是否在箱线图之间。
- 基于特定业务含义,例如每条记录中的两个字段对应了明确的大小或先后关系,当不满足这一关系时可判断为异常值。
- 基于特定业务含义,单条记录并无异常,但放在整个数据集中则是异常记录。
Pandas进行数据清洗的常见方式
1、处理数据中的空值
在处理空值的处理方式有很多种,一般是删除或者填充。
Excel通过“查找和替换”功能实现空值的统一替换。
pandas处理空值的方式比较灵活,可以使用dropna
函数删除空值,用fillna
函数实现空值的填充
可以使用数字0或平均值或其他特定值来填充数据表中的空值
2、删除空格
excel中清理空格很简单,直接替换即可
pandas删除空格也很方便,主要使用map
函数
3、大小写转换
excel中大小写转换函数分别为upper()
和lower()
pandas中转换函数也为upper()
和lower()
4、更改数据格式
excel中更改数据格式通过快捷键“ctrl+1”打开“设置单元格格式”:
pandas使用astype
来修改数据格式,以将“语文”列改成整数为例
5、更改列名称
6、删除重复值
excel的功能区“数据”下有“删除重复项”,可以用来删除表中的重复值,默认保留最第一个重复值,把后面的删除。
pandas使用drop_duplicates
函数删除重复值:
7、修改及替换数据
excel中使用“查找和替换”功能实现数值的替换。
pandas中使用replace
函数实现数据替换