第2章
清洗和校验数据
2.1 引言
你在获取数据上所耗费的时间将远少于整理数据所耗费的。原始数据通常不一致、重复或者有许多缺失。在使用前必须对数据进行修正。
这通常是一个重复性很高的工作:如果数据集非常大,在本阶段可以创建一个用以处理的样本。通常而言,首先检验数据文件。一旦发现问题,就编写解决问题的程序,并在数据集上运行。每次改变后,会得到zip格式的数据或者使用Git(http://git-scm.com/)或其他版本控制系统的格式(如果数据文件足够小)。使用版本控制系统比较好,因为可以与记录数据本身一同记录转换数据的代码,并且可以对所做的工作进行注释。接着,再次检查数据,整个处理过程从头开始。尽管一旦开始分析数据,可能发现更多问题或者需要再对数据进行处理从而使分析过程变得简单些,可以再次进入数据清洗的循环中。Clojure是完成这类工作非常好的工具,因为REPL是扫描并迭代地修正数据的良好环境。而且,由于其中许多序列函数默认是延迟的,使得Clojure处理数据非常容易。
本章将主要介绍Clojure在清洗数据方面的一些特性。首先将从正则表达式和一些基础工具开始介绍。然后,学习如何标准化特定类型的值,接下来的几种方法关注处理超大数据集。最后,将学习在编写简单的拼写检查器和通用的解析器时使用的较为复杂的修正数据的方式。最后一种方法介绍一个具有领域专用语言的Clojure库,这种语言可以用来编写测试程序以校验数据。
时间: 2024-09-17 03:14:34