Python第19课:数据清洗之去错、去空、去重

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python第19课:数据清洗之去错、去空、去重相关的知识,希望对你有一定的参考价值。

参考技术A Python 第19课:数据清洗之去错、去空、去重

时间 2019-02-01 下午3:30

主讲 刘培富

地点 四楼电教室

数据清洗是数据治理的关键环节,是指对获取的原始数据(也称“脏数据”)进行审查、校验、加工的过程,目的在于删除重复信息、纠正错误信息,保持数据一致性。

一般来说,数据清洗,主要是对数据进行去错、去空、去重处理。

针对一张包含姓名、身份证号码、车牌号码的数据表,建立纠错规则如下:

1.车牌号既不包含汉字赣,且不包含汉字饶。

2.身份证号码的年份既不等于19也不等于20,身份证号码的月份大于12,身份证号码的日期大于31。

3.身份证号码位数不等于18。

4.姓名的长度小于等于1。

二、去空

对于关键性数据,不允许为空,对于这类数据,要查询是否存在空值。

三、去重

在一张表中,有的数据列允许重复,有的数据列则不允许重复。例如,对于一张车主信息表来说,姓名、身份证号可以重复,因为存在一人登记多辆车的情形,这种重复,不能认为是错误。但是,车牌号则不允许重复,否则就存在业务逻辑的错误。所以,针对车牌号数据列,要进行去重。

通过以下SQL语句,可以列出重复的数据:

综上,数据清洗,既要懂技术,更要懂业务,否则无法正确制定清洗规则,导致数据清洗流于形式,达不到清洗的效果。

mysql数据库之去重

利用 distinct

:对需要处理的字段进行去重

select  distinct 字段名 from 表名

技术图片

去重以后

技术图片

利用group by

select * from 表名 group by 字段名

技术图片

利用having

select * from 表名 group by 字段名 having 字段名=要求

 

技术图片

 

where和having的区别

1.having用于group by 之后

2.where是用于表中筛选查询,having用于在where和group结果中查询

3.having可以使用聚合函数,而where不能

4.having执行顺序位于where之后

以上是关于Python第19课:数据清洗之去错、去空、去重的主要内容,如果未能解决你的问题,请参考以下文章

大数据优化之去重

mysql数据库之去重

爬完数据存哪里?当然是数据库啊!数据入库之去重与数据库详解!

python爬虫怎么去重清洗

java之去重方式,以及效率问题

C#黔驴技巧之去重(Distinct)