数据分析的整个过程中,可能80%的时间都用于清理和准备数据!现实世界的数据通常都不干净。使用 Python 以及 pandas等第三方库,可以收集各种来源、各种格式的数据,评估数据的质量和整洁度,然后进行清洗。这个过程叫做数据整理。可以在 Jupyter Notebook 中记录并展示数据整理的过程,然后使用 Python (及其库) 和/或 SQL 进行分析和可视化。
数据整理(Data Wrangling)一般包括以下内容:
- 数据收集(Gather)
- 数据评估(Assess)
- 数据清理(Clean)
数据收集(Gather)
收集数据的方式有很多,包括直接利用现有的商业或开源数据集、利用爬虫或相关程序从互联网或者API持续的获得数据、根据现实业务自行设计数据采集方案获取数据。
实际工程中,为了未来目标系统有更好的适应性和泛化性,因注重数据采集方案的的设计,数据收集的可扩展性(Scalability)和重复性(Reproducibility)。
数据评估(Assess)
可以从两方面进行:质量(Quality),整洁度(Tidiness)
1)质量(Quality)
低质量数据常常包括
- 数据丢失,缺值。
- 数据无效。
- 数据不准确。
- 数据不一致,比如使用不同的长度单位(英寸和厘米)。
- 整洁度(Tidiness)
不整洁数据常被称为杂乱数据(messy data),是统计学家、教授和全能数据专家 Hadley Wickham 提出的概念。
指的是:
1)Each variable forms a column (每个变量构成一列)
2)Each observartion forms a row (每个观察构成一行)
3)Each type of observational unit form a table (每类观察单元构成一个表格)
程序清理(Clean)
数据清洗(Data cleaning)– 对数据进行重新审查和校验的过程,目的在于删除重复信息、纠正存在的错误,并提供数据一致性。