设为首页
收藏本站
开启辅助访问
切换到窄版
登录
立即注册
中问网首页
我的收藏
站长博客
搜索
搜索
本版
帖子
用户
第一问答网
»
论坛
›
中问网
›
问答
›
数据清洗经验
返回列表
发新帖
数据清洗经验
[复制链接]
11
|
0
|
2021-1-10 01:39:11
|
显示全部楼层
|
阅读模式
科研工作者、工程师、业务分析者这些和数据打交道的职业,数据分析在他们工作中是一项核心任务。这么不仅仅针对“大数据”的从业者,即使你笔记本硬盘上的数据也值得分析。数据分析的第一步是洗数据,原始数据可能有各种不同的来源,包括:1、Web服务器的日志2、某种科学仪器的输出结果3、在线调查问卷的导出结果4、1970s的政府数据5、企业顾问准备的报告这些来源的共同点是:你绝对料想不到他们的各种怪异的格式。数据给你了,那就要处理,但这些数据可能经常是:1、不完整的(某些记录的某些字段缺失)2、前后不一致(字段名和结构前后不一)3、数据损坏(有些记录可能会因为种种原因被破坏)因此,你必须经常维护你的清洗程序来清洗这些原始数据,把他们转化成易于分析的格式,通常称为datawrangling。接下来会介绍一些关于如何有效清洗数据,所有介绍的内容都可以由任意编程语言实现。这是最重要的一点经验:使用断言(Assertions)揪出代码中的bug。用断言的形式写下你对代码格式的假设,如果一旦发现有数据跟你的断言相悖,就修改这些断言。记录是有序的?如果是,断言之!每一条记录都是有7个字段么?如果是,断言之。每一个字段都是0-26之间的奇数么?如果是,断言之!总之,能断言的都断言!在理想世界中,所有记录都应该是整整齐齐的格式,并且遵循某种简洁的内在结构。但是实际当中可不是这样。写断言写到你眼出血,即便是出血还得再写。洗数据的程序肯定会经常崩溃。这很好,因为每一次崩溃都意味着你这些糟糕的数据又跟你最初的假设相悖了。反复的改进你的断言直到能成功的走通。但一定要尽可能让他们保持严格,不要太宽松,要不然可能达不到你要的效果。最坏的情况不是程序走不通,而是走出来不是你要的结果。不要默默的跳过记录原始数据中有些记录是不完整或者损坏的,所以洗数据的程序只能跳过。默默的跳过这些记录不是最好的办法,因为你不知道什么数据遗漏了。因此,这样做更好:1、打印出warning提示信息,这样你就能够过后再去寻找什么地方出错了2、记录总共跳过了多少记录,成功清洗了多少记录。这样做能够让你对原始数据的质量有个大致的感觉,比如,如果只跳过了0.5%,这还说的过去。但是如果跳过了35%,那就该看看这些数据或者代码存在什么问题了。使用Set或者Counter把变量的类别以及类别出现的频次存储起来数据中经常有些字段是枚举类型的。例如,血型只能是A、B、AB或者O。用断言来限定血型只能是这4种之一虽然挺好,但是如果某个类别包含多种可能的值,尤其是当有的值你可能始料未及的话,就不能用断言了。这时候,采用counter这种数据结构来存储就会比较好用。这样做你就可以:1、对于某个类别,假如碰到了始料未及的新取值时,就能够打印一条消息提醒你一下。2、洗完数据之后供你反过头来检查。例如,假如有人把血型误填成C,那回过头来就能轻松发现了。如果你有大量的原始数据需要清洗,要一次清洗完可能需要很久,有可能是5分钟,10分钟,一小时,甚至是几天。实际当中,经常在洗到一半的时候突然崩溃了。假设你有100万条记录,你的清洗程序在第325392条因为某些异常崩溃了,你修改了这个bug,然后重新清洗,这样的话,程序就得重新从1清洗到325391,这是在做无用功。其实可以这么做:1.让你的清洗程序打印出来当前在清洗第几条,这样,如果崩溃了,你就能知道处理到哪条时崩溃了。2.让你的程序支持在断点处开始清洗,这样当重新清洗时,你就能从325392直接开始。重洗的代码有可能会再次崩溃,你只要再次修正bug然后从再次崩溃的记录开始就行了。当所有记录都清洗结束之后,再重新清洗一遍,因为后来修改bug后的代码可能会对之前的记录的清洗带来一些变化,两次清洗保证万无一失。但总的来说,设置断点能够节省很多时间,尤其是当你在debug的时候。在一部分数据上进行测试不要尝试一次性清洗所有数据。当你刚开始写清洗代码和debug的时候,在一个规模较小的子集上进行测试,然后扩大测试的这个子集再测试。这样做的目的是能够让你的清洗程序很快的完成测试集上的清洗,例如几秒,这样会节省你反复测试的时间。但是要注意,这样做的话,用于测试的子集往往不能涵盖到一些奇葩记录,因为奇葩总是比较少见的嘛。把清洗日志打印到文件中当运行清洗程序时,把清洗日志和错误提示都打印到文件当中,这样就能轻松的使用文本编辑器来查看他们了。可选:把原始数据一并存储下来当你不用担心存储空间的时候这一条经验还是很有用的。这样做能够让原始数据作为一个字段保存在清洗后的数据当中,在清洗完之后,如果你发现哪条记录不对劲了,就能够直接看到原始数据长什么样子,方便你debug。不过,这样做的坏处就是需要消耗双倍的存储空间,并且让某些清洗操作变得更慢。所以这一条只适用于效率允许的情况下。最后一点,验证清洗后的数据记得写一个验证程序来验证你清洗后得到的干净数据是否跟你预期的格式一致。你不能控制原始数据的格式,但是你能够控制干净数据的格式。所以,一定要确保干净数据的格式是符合你预期的格式的。这一点其实是非常重要的,因为你完成了数据清洗之后,接下来就会直接在这些干净数据上进行下一步工作了。如非万不得已,你甚至再也不会碰那些原始数据了。因此,在你开始数据分析之前要确保数据是足够干净的。要不然的话,你可能会得到错误的分析结果,到那时候,就很难再发现很久之前的数据清洗过程中犯的错了。
回复
使用道具
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
千问
主题
0
回帖
4882万
积分
论坛元老
论坛元老, 积分 48824836, 距离下一级还需 -38824837 积分
论坛元老, 积分 48824836, 距离下一级还需 -38824837 积分
积分
48824836
加好友
发消息
回复楼主
返回列表
问答
热门排行
1
深龋修补一个半月以后出现了牙齿敏感,怎么办?
2
在哪里可以买到“金足舒”?
3
为什么cf下载补丁总是会失败????请告诉我、谢谢!!!
4
http://dota.uuu9.com/201112/81916.shtml 求6分钟时的背景音乐 先答先得
5
9a方+18ab+8b方何解
6
pps为什么不能下载文件了?
7
女朋友好象最近在学校干什么都不愿和我一起,怎么会事啊、
8
青岛地区考研地点怎么安排的?厦门大学的在哪里考啊?
9
HTC G13串号359465046880888是行货还是水货呀
10
求may's的三张专辑 dreaming amazing cruising的无损 注意是无损
11
中国至杜塞尔多夫机票价格?哪个网站有得打折呢?是不是最优惠的票价?
12
2011年全国中学生英语能力竞赛初二组决赛答案
13
ps TUOPAZ滤镜怎么打开?
14
日语里-这吹的是哪阵子的风啊。怎么说,
15
给发一个新亮剑的种子,谢谢
16
炫舞里没有灵犀徽章,戒指是系统赠的纯真年代,可以结婚么?结婚 还需要什么?
17
翻译一下谢谢
18
胃不舒服,老是恶心想吐..
19
qq秀怎么用
20
有没有《超兽武装》这本电子书,有的话给个下载地址
21
轿车与摩托车发生事故,轿车全责应怎么赔偿摩托车?摩托车无驾驶证但有行驶证和保险
22
婚庆用语~~~~~~~
23
当前人力资源管理的发展趋势是什么?
24
先化简,再求值:(x的平方/x-3 - 9/x-3)×1/x的平方+3x,其中x=1/3
25
已知抛物线y=x2-(2m+2)x-1+m与x轴有两个交点,则m的取值范围是多少
26
我用QQ旋风下载了“侠盗飞车4”解压后,运行时却显示:无法启动此程序,因为计算机丢失xlive.dll,该怎么办
27
索隆频临失败时会想到鹰眼 从而站起 我接近堕落时会想到索隆 从而站起
28
QQ号当时就是申请来玩的,到现在有七八年了,好多东西都忘记了,后来被盗了,就是说我用了就一年多
29
魔兽世界,猎人的脱逃技能,在平面上最远能后跳多远距离啊,怎么个跳法?
30
我家用先锋牌DVD播放u盘里的MP3歌曲,但是经常在某些固定的歌曲的某个时间段断掉。
31
第一次卖对联,应该进多少货的?
32
我叫黄颖琪,想取个英文名,急急急急急急急急~~~~~~~
33
TUOTUO牌的洁具各个档次的价格请详细介绍一下?有什么优点?
34
microsdhc和microsd的区别
35
“金足舒”能当袜子穿吗?
36
戚薇在《泡沫之夏》中饰演的欧辰假女友是不是台湾配音演员贺世芳配音的!
37
重庆南坪 7天连锁酒店 预订的问题
38
我12月1号去淘宝买的八位QQ,今天都23号了,我都还不能改密码,甚至连密保申请不了,
39
关于静临和朱修。
40
求日版花样男子全集高清(第一部第二部电影版)
41
邀人合创宫斗贴吧 Q962425439
42
如何查银行卡是不是信用卡
43
什么是营销
44
平安夜的由来
45
谁为谁悲伤,谁为谁绝望 谁有 QQ 1548899457
46
2011年末大事件,今年圣诞老人去度假了,谁来送礼物呢?
47
纹身 专业的人进
48
笔记本电脑刻录机是不是不能用D9空白刻录盘?如果可以用D9盘刻录哪个品牌的比较好?
49
p76 TI硬盘没有8g 只有5.9G左右 是正版的P76 TI吗?
50
有一桶汽油连桶重148千克,倒走半桶油后,连桶重75千克,桶内原有汽油多少千克
51
佛山哪里可以买到一些少女穿的衣服呢?店里看的那些感觉太成熟了,像吉之岛,东方广场人民路里面的那些,
52
我前一段时间看了步步高mtv国际音乐榜有一个女生因为失恋所以疯狂的增肥那首歌叫什么名字超有磁性
53
什么情况下会脱衣服??展开你的联想!
54
请问2011年邯郸学院专接本考试的录取分数线是多少啊?还有历史学这一科的?谢谢了!
55
请问下高人,建筑工程设计费为多少必须公开招标?有安全设计专业和水土保持专业的注册建造师吗
56
我就的小德牧打完七联疫苗怎么不动了
57
我需要家庭教师所有的角色歌,全部的哦,我的邮箱是
[email protected]
,谢谢了
58
谁能推荐一下哈尔滨迪吧,最好带上电话,谢!
59
天珠变全本TXT格式
60
谈恋爱高手能 能告诉我什么意思
61
C语言日历问题,急
62
天桥区哪块有卖kindle的?在哪附近?
63
你好,我也想中专考高职,我今年在招生办报的名,我想问一下考哪几门呢?还要考专业课呢?
64
长治澳瑞特健身房一般什么时间会做活动?
65
请问老年人1米46。140多斤穿多大的衣服
66
现在在淘宝网付款要手机效验码,没用那卡了,怎么办?
67
求Davich和Tara的 我们不是相爱吗 mp3 发送1332736756
68
我把所有积蓄都亏掉了。 我负债累累。 我失去了一切的信念和斗志。 用关联词把上面三句话连成一段连贯的话
69
有谁知道在宁波慈溪有开往安徽宿州市萧县的直达汽车吗?直接到宿州也可以
70
新出的偶像剧
71
山东邦德小羚羊质量好吗
72
伊通县有卖海青和缦衣的吗?阿弥陀佛
73
求函数y=log2(-x^2+2x+15)的定义域,值域及单调区间
74
求一无木马无病毒的QQ农牧场,抢车位的刷钱挂(或刷级挂)最好没广告!
75
空之色下卷
76
乾隆是不是个好黄帝?7
77
高度近视如何保护眼睛?
78
2011年11月24日阳历中午12点出生姓朱,男孩 起什么名字
79
作文,爱在这里
80
有没有谁种植过,益丰3号天麻?是真还是假?
81
AVG PC Tuneup 破解
82
2Pac是哪年哪天死的
83
睡前吃水果号吗?
84
1200元左右的相机!自己家用!拍照旅游用!
85
公路运输和邮政运输那个便宜
86
求80年代一首歌名:想当年相逢月下,俩人不见谈情话,他爱我我也爱他,爱他有才华。
87
三星i9103串号 359148040567004请教高手解答是不是翻新机
88
好看的穿越文。。
89
过往高手看看我的电脑,主机声音有点大硬盘老有咯咯声,玩cf还卡屏33~180,先谢谢了
90
天配良缘之陌香
91
2011年12月四级估分
92
谁见到山西长治北水泥厂的费雪雯就说她是猪行不
93
VB 查找 EXCEL的问题
94
家庭教师同人文
95
范特西篮球经理辅助有的发信箱:木马走开谢谢
[email protected]
96
CSOL三周年庆欢乐共享 背景音乐
97
GT430D5相当于?9500GT?9600GT?GT220??看清楚是D5的虎将,虽然430都是垃圾卡
98
谁能给我发下墨明棋妙(河图,HITA,音频怪物,纯音乐、、、、、、)和董贞的所有歌曲?要全要有歌词
99
法语被动语态什么时候用de引出施动着