数据清洗经验分享:什么是数据清洗如何做好数据清洗

数据加工、清洗的过程与机械加工的流水线生产过程相似。例如,从各个渠道采集到的数据质量很差,于是就需要对数据进行“脱敏”以及“包装”,最终呈现在用户面前时是一个个数据产品,这样才能提供给消费者,进行数据交易。

1、Web服务器的日志

2、某种科学仪器的输出结果

3、在线调查问卷的导出结果

4、1970s的政府数据

5、企业顾问准备的报告

3、数据损坏(有些记录可能会因为种种原因被破坏)

因此,你必须经常维护你的清洗程序来清洗这些原始数据,把他们转化成易于分析的格式,通常称为datawrangling。接下来会介绍一些关于如何有效清洗数据,所有介绍的内容都可以由任意编程语言实现。

使用断言

这是最重要的一点经验:使用断言(Assertions)揪出代码中的bug。用断言的形式写下你对代码格式的假设,如果一旦发现有数据跟你的断言相悖,就修改这些断言。

在理想世界中,所有记录都应该是整整齐齐的格式,并且遵循某种简洁的内在结构。但是实际当中可不是这样。写断言写到你眼出血,即便是出血还得再写。

洗数据的程序肯定会经常崩溃。这很好,因为每一次崩溃都意味着你这些糟糕的数据又跟你最初的假设相悖了。反复的改进你的断言直到能成功的走通。但一定要尽可能让他们保持严格,不要太宽松,要不然可能达不到你要的效果。最坏的情况不是程序走不通,而是走出来不是你要的结果。

不要默默的跳过记录

原始数据中有些记录是不完整或者损坏的,所以洗数据的程序只能跳过。默默的跳过这些记录不是最好的办法,因为你不知道什么数据遗漏了。因此,这样做更好:

1、打印出warning提示信息,这样你就能够过后再去寻找什么地方出错了

2、记录总共跳过了多少记录,成功清洗了多少记录。这样做能够让你对原始数据的质量有个大致的感觉,比如,如果只跳过了0.5%,这还说的过去。但是如果跳过了35%,那就该看看这些数据或者代码存在什么问题了。

使用Set或者Counter把变量的类别以及类别出现的频次存储起来

1、对于某个类别,假如碰到了始料未及的新取值时,就能够打印一条消息提醒你一下。

2、洗完数据之后供你反过头来检查。例如,假如有人把血型误填成C,那回过头来就能轻松发现了。

断点清洗

如果你有大量的原始数据需要清洗,要一次清洗完可能需要很久,有可能是5分钟,10分钟,一小时,甚至是几天。实际当中,经常在洗到一半的时候突然崩溃了。

假设你有100万条记录,你的清洗程序在第325392条因为某些异常崩溃了,你修改了这个bug,然后重新清洗,这样的话,程序就得重新从1清洗到325391,这是在做无用功。其实可以这么做:1.让你的清洗程序打印出来当前在清洗第几条,这样,如果崩溃了,你就能知道处理到哪条时崩溃了。2.让你的程序支持在断点处开始清洗,这样当重新清洗时,你就能从325392直接开始。重洗的代码有可能会再次崩溃,你只要再次修正bug然后从再次崩溃的记录开始就行了。

在一部分数据上进行测试

但是要注意,这样做的话,用于测试的子集往往不能涵盖到一些奇葩记录,因为奇葩总是比较少见的嘛。

把清洗日志打印到文件中

当运行清洗程序时,把清洗日志和错误提示都打印到文件当中,这样就能轻松的使用文本编辑器来查看他们了。

可选:把原始数据一并存储下来

不过,这样做的坏处就是需要消耗双倍的存储空间,并且让某些清洗操作变得更慢。所以这一条只适用于效率允许的情况下。

最后一点,验证清洗后的数据

记得写一个验证程序来验证你清洗后得到的干净数据是否跟你预期的格式一致。你不能控制原始数据的格式,但是你能够控制干净数据的格式。所以,一定要确保干净数据的格式是符合你预期的格式的。

THE END
1.独家大数据分析中数据清洗与特征工程实战技巧云计算网1. 检查缺失值:在进行数据清洗前,首先要检查是否存在缺失值。对于缺失值,需要根据实际情况选择填充(如使用均值、中位数等)或删除该记录。 2. 异常值检测:异常值是指那些远离数据集主体的数据点。常见的异常值检测方法包括IQR法、Z分数法等。对于异常值,一般需要根据业务背景判断是否需要删除或进行标注。 https://www.0751zz.com/html/biancheng/zx/2024-11-18/385089.html
2.大数据什么是数据清洗?(附应用嘲及解决方案)一、数据清洗的概念及应用场景 数据清洗是在数据处理和分析之前,对数据集进行清理和整理的过程。这个过程包括识别并纠正错误的、不完整的、不准确的、不相关的或者是重复的数据,以确保数据的质量和准确性。数据清洗的目的是提高数据的质量,使其更适合进行数据分析或数据挖掘。 https://blog.csdn.net/oOBubbleX/article/details/140350709
3.数据清洗工作不包括()。 数据清洗工作不包括(  )。https://www.educity.cn/tiku/42254.html
4.数据分析是什么工作内容数据分析是什么工作内容 数据分析的工作内容包括:数据体系的搭建、数据清洗、数据预处理、可视化展示。(1)数据体系的搭建:每一个产品的功能都需要通过数据来监控这个功能的使用情况,包括用户量的变化情况使用的体验情况,业务的健康情况,业务的机会点等。所以在公司或者企业内部都会建立起一套相对应的叫做数据体系的东西https://36kr.com/p/dp1517207321827335
5.数据治理知识分享—数据元主数据参考标准指标数据业务术语07、数据清洗 依据标准对存量主数据开展清洗工作,清洗过程除了基于质量规则对已有不规范数据进行属性补充、规范化填写以外,更重要的是识别重复的数据、对重复数据进行去重及合并,数据层面主要通过新旧编码映射的方式确保旧编码的业务正常开展。 08、数据共享 存量数据的共享,主要通过初始化导入方式开展;增量数据的共享,主要https://www.asktempo.com/news/industry-information/1461.html
6.大数据应用导论Chapter02大数据的采集与清洗大数据的处理主要是对数据的清洗,将其转化为可利用的数据目标,数据科学家约60%的时间都在进行数据清洗工作。 数据清洗是对数据进行转换、缺失处理、异常处理等。数据清洗可以提高数据的质量,提高数据分析的准确性。 数据清洗一般在大数据分析流程中的第三步: https://blog.51cto.com/u_14683590/5236225
7.感悟与反思┃“数据清洗工作”的总结与反思——席义博当时告诉大家把每遇到一次报错,都做一系列整理工作,包括问题描述、截图、出错的源文件处理等等,之后还涉及到类似“断点续传”的操作,如果每次出错都重新来过,数据清洗的效率将大大降低。这么过了几天,对大家的报错情况基本都有数儿了,我虽说不清楚为什么,但至少能清楚地描述出“当如何如何时”就会有“报错”,也许http://www.sxmu.edu.cn/bdcd/info/1097/1393.htm