数据清洗简介
Data Wrangling–regular expression
目录
前言
Raw data ⇒ Data Wrangling ⇒ Tidy data ⇒ Data Analysis ⇒ Data Knowledge
Data + Wrangling + Analysis = Data Product (or Knowledge)
初始被采集的数据是原始数据(Raw data),比如从传感器获得的数据,从不同网站爬取的数据,未做过处理的用户历史数据等。这些数据并不能直接进行存储或使用,因为这些数据并不足够“干净”。
一、Data Wrangling 的目的
Data Wrangling 的目的:
- 对数据进行处理,已达到满足后续的数据分析或储存的要求;
- 记录数据被处理的过程。
二、数据可能存在的问题
- Interpretability issue (数据可理解性)
- Data format issues (数据格式问题)
- Inconsistent and faulty data (数据不一致或错误数据)
- Missing values (数据缺失)
- Outliers (离群值)
- Duplicates (重复)
1. Interpretability issue (数据可理解性)
只给你上图,请问这组数据是说明什么的?
由于没有attribute names,所以并不能很好的判断这组数据是关于什么的,这就是可理解性问题。
注:上图中的 “?” 并不是可理解性问题,是数据缺失。
2. Data format issues (数据格式问题)
在处理数据之前,要确定好你的输入文件的数据格式是什么,主要包括文件的format/structure和数据的type。又因为有些时候需要合并不同数据来源的数据,但是不同的数据来源可能储存数据的格式是不一样的,比如在A来源数据储存在 JSON 格式下,B来源用的是XML,或者A来源储存相同的意义的数据用chr/string type,但在B来源用的是int/float type, 这就是格式问题。
3. Inconsistent and faulty data (数据不一致或错误数据)
上图所示,存在的数据不一致或错误你能发现几个?
- 姓名的格式不一致
- 日期的格式不一致
- 85年33岁,82年却显示34岁,同样82年,另一个显示36岁
- 第三行,第四列的身高写成了 ’17o‘,应该是’170‘
- 性别的格式不一致
- 第二个电话明显是错误的
- 最后一列2行的地址多了一个空格(千万不要小看或者忽视空格)
4. Missing values (缺失值)
缺失值,顾名思义,就是指数据中由于各种各样原因缺失的数据。
5. Outliers (离群值)
离群值有时可能是要去除的(如:大多数情况的数据建模),有时是需要注意的(如:异常检测)
6. Duplicates (重复)
这里的数据重复不仅指完全一样的数据,还包括粗看有区别,但是仔细一看,其实表达的是相同的实体的重复的数据。
总结
总体上数据清洗的步骤如山图所示:
- 数据获取:从不同的数据来源获取数据,比如官方的API,网络爬取,自家数据来源等
- 数据加载、提取:加载并解析不同储存形式的数据
- 数据清洗:诊断并处理各种存在的数据问题
- 数据归集:合并不同来源的数据,创造出一个丰富且完整的数据集
- 数据研究:利用不同种类的描述性统计和可视化工具来提高数据质量
- 数据丰富:通过特征生成、数据转换、数据聚合和数据缩减(缩减颗粒度)来丰富现有数据
- 数据储存&使用:最后以各种格式存储干净的数据,便于下游分析工具访问。