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

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

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

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

主讲 刘培富

地点 四楼电教室

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

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

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

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

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

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

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

二、去空

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

三、去重

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

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

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

解答如下:

首先打开txt文件,使用open(txtname),进行一行一行的读;

如果需要的话,对每行的数据进行解析;

导入xlrd,xlwt进行excel读写;

大致代码如下:

import

xlrd,xlwttxtname=r"c:\value.txt"workbook

=

xlwt.workbook(encoding

=

'ascii')worksheet

=

workbook.add_sheet('sheet1')fp=open(txtname)for

linea

in

fp.readlines():

worksheet.write(0,

0,

label

=

linea)workbook.save('excel_workbook.xls')fp.close()

python清洗excel的数据还是很简单的

这里就列举例子说一下

这是原始数据,这里要处理的是地区和薪水两个字段。

主要把薪资处理成以千/月为单位。保留城市。

处理后的数据:


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12100357.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存