数据清洗工具——DataWrangler、Google Refine

在进行数据分析和可视化之前,经常需要先“清洗”数据。这意味着什么?可能有些词条列表里是“New York City”,而其他人写成“New York, NY”。然而,你在看到某些模式前得将各种各样的输入词汇标准化。又或者,出现一些数值输入错误,错别字什么的。
有很多工具都可以实现你想要的功能,但大多都是付费的。对于专业人士来说,这些成本是值得的,但对于时不时才使用的业余人士来说,未免有些浪费。下面介绍的两个工具最伟大的地方就是——它们是免费的!

1、DataWrangler

它是做什么的:这个基于网络的服务是斯坦福大学的可视化组设计来清洗和重排数据的,因此,它的格式适用于电子表格等应用程序。
点击一行或一列,DataWrangler会有修改的建议。例如,你点击了一行空行,一些建议就出弹出来,像“删除行”或“删除空行”等。
同时,DataWrangler有一个历史记录,允许你很容易地实现撤消功能。

优点:文本编辑非常简单。例如,当我选择大标题为“Reported crime in Alabama”的样本数据的某行的“Alabama”,然后选择另一组数据的“Alaska”,它会建议提取每州的名字。把鼠标停留在建议上,就可以看到用红色突出显示的行。

缺点:我发现当我试图探索DataWrangler的选项时会发生一些预料之外的变化。我不得不经常点击“清空”进行重设。还有,有的建议是没用的(当某行是空行的时候,“把行提到标题行”似乎是个奇怪的建议),还有,有的建议很难理解(”fold split 1 using 2 as key”)。

DataWrangler是基于网络的服务,非常方便使用。但不要忘记,代价是必须把数据上传到外部网站。也就是说,对于敏感的内部数据,DataWrangler就不是合适的选择了。不过,未来会有独立的桌面版本。另一个必须考虑的事情是,DataWrangler是用现行的alpha码编写的,它的创建者说它(alpha码)还在改进中。

技能水平:高级新手

运行环境:任何网络浏览器

2、Google Refine

它是做什么的:第一眼看Google Refine的文本和数字时,可以将它描述为电子表格。像Excel一样,它可以导入导出多种格式的数据,如标签或逗号分隔的文本文件、Excel、XML和JSON文件。
Refine设有内置算法,可以发现一些拼写不一样但实际上应分为一组的文本。导入你的数据后,选择编辑单元格->聚类,编辑,然后选择要用的算法。
Refine运行后,你得决定接受或不接受每条建议。例如,你可以同意将Microsoft和Microsoft Inc作为同个组合,但不同意将Coach Inc 和CQG Inc作为同个组合。假如它提供太少或太多的建议,你可以更改建议功能的强度。
还有数据选项,提供快速简单的数据分布概貌。这个功能可以揭示那些可能由于输入错误导致的异常——例如,工资记录不是80,000美元而竟然是800,000美元;或指出不一致的地方——例如薪酬数据记录之间的差异,有的是计时工资,有的是每周支付,有的是年薪。
除了数据管家功能,Google Refine还提供了一些有用的分析工具,例如排序和筛选。

优点:一旦熟悉Refine的命令和功能,它将是一个强大的数据处理和分析工具,既功能强大又易用。每个操作的撤消/重做列表让你随时回到想要的状态。文本编辑应用Java正则表达式,允许你查找模式(例如,3个数字后跟着两个数位)或特定的字符串或数值。
最后,虽然Refine是一个基于浏览器的应用程序,但适用于桌面文件,因此你的数据可以保留在本地。

缺点:尽管Refine看起来像电子表格,但你无法用它实现典型的电子表格计算。因此,你必须将数据导出到常见的电子表格应用。如果你的数据集很大,得留出一些时间仔细检查Refine的建议,这需要好些时间。还有,这点因数据集而异,当你准备合并一些文本项时,很有可能会得到一些错的建议或忽略一些问题——或两者兼有。

技能水平:高级新手。

运行环境:Windows、Mac OS、Linux