图灵社区的电子书没有采用专有客 户端,您可以在任意设备上,用自 己喜欢的浏览器和PDF阅读器进行 阅读。 但您购买的电子书仅供您个人使用, 未经授权,不得进行传播。 我们愿意相信读者具有这样的良知 和觉悟,与我们共同保护知识产权。 如果购买者有侵权行为,我们可能 对该用户实施包括但不限于关闭该 帐号等维权措施,并可能追究法律 责任。 内 容 提 要 本书主要内容包括:数据清洗在数据科学领域中的重要作用,文件格式、数据类型、字符编码的基本概念, 组织和处理数据的电子表格与文本编辑器,各种格式数据的转换方法,解析和清洗网页上的 HTML 文件的 三种策略,提取和清洗 PDF 文件中数据的方法,检测和清除 RDBMS 中的坏数据的解决方案,以及使用书 中介绍的方法清洗来自 Twitter 和 Stack Overflow 的数据。 本书适合任何水平的数据科学家以及对数据清理感兴趣的读者阅读。 [美] Megan Squire 译 任政委 责任编辑 岳新欣 执行编辑 李 敏 责任印制 彭志环 ◆ 人民邮电出版社出版发行 北京市丰台区成寿寺路11号 ◆ 著 邮编 100164 网址 http://www.ptpress.com.cn 北京 电子邮件 [email protected] 印刷 ◆ 开本:800×1000 1/16 印张:12.5 字数:296千字 印数:1 — 3 000册 著作权合同登记号 2016年 5 月第 1 版 2016年 5 月北京第 1 次印刷 图字:01-2015-7995号 定价:49.00元 读者服务热线:(010)51095186转600 印装质量热线:(010)81055316 反盗版热线:(010)81055315 广告经营许可证:京东工商广字第 8052 号 250 前 言 版权声明 Copyright © 2015 Packt Publishing. First published in the English language under the title Clean Data. Simplified Chinese-language edition copyright © 2016 by Posts & Telecom Press. All rights reserved. 本书中文简体字版由Packt Publishing授权人民邮电出版社独家出版。未经出版者书面许可, 不得以任何方式复制或抄袭本书内容。 版权所有,侵权必究。 iv 前 言 前 言 “请问,巴贝奇先生,如果把错误的数据放进机器中,是否能够得到正确的答案呢?” ——查尔斯·巴贝奇(1864) “错进,错出。 ” ——美国国税局(1963) “压根儿就没有干净的数据集。” ——乔希·沙利文, 《财富》杂志收录的博思艾伦咨询公司副总裁语录(2015) 世界上第一台计算机的发明者查尔斯·巴贝奇,在他1864年的随笔文集中记录了这样一件 事,他曾经因为有人认为在输入错误数据的情况下计算机依然能够给出正确答案而错愕不止。100 年以后,美国税务部门开始耐心地向人们解释“错进,错出” ,以此来表达即便是能力再强的税 收官,在用计算机处理数据时,依旧要依赖输入数据的质量。又过了50年,到了2015年,在这个 看起来超级神奇的时代,有着机器学习、自动纠错、预想接口以及比我们本人更为了解我们自己 的各种推荐系统。然而,这一切的算法背后,仍旧需要高质量的数据来保证学习的正确性,而我 们往往会叹息道“压根儿就没有干净的数据集” 。 本书正是为那些时常需要与数据打交道的人准备的,包括数据科学家、数据新闻记者、软件 开发人员以及其他相关人士。无论你从事的是哪种职业,本书都会传授你一套快速而简便的实用 策略,用来填补现有数据和期望数据之间的空白。人人都期盼能够拥有高质量的完美数据,但现 实中的数据往往与我们的期盼相去甚远。我们是否正在饱受各种折磨呢?数据不是缺失就是格式 不对,或者位置错误,还有各种异常情况,而这些问题导致的结果可以借用说唱歌手克里斯托 弗·华莱士的一句歌词来表达,那就是“数据越多,麻烦越大”。 在本书中,我们始终把数据清洗当成数据科学过程中有着重要意义和重大价值的一步:轻松 改进,不容忽视。我们的目标就是重新定义数据清洗,它不再是开始真正的工作之前所必须做的 令人畏惧和乏味的工作。相反,我们会使用久经考验的过程与工具。我们会了解到,就好比在厨 房中做菜,如果菜洗干净了,食物的色和味就不会差,我们自己也会倍感愉悦。如果再有良好的 前 言 v 刀工,肉就会鲜嫩可口,菜也会入味均匀。就像手艺高超的大厨们都有他们钟爱的厨具和烹饪手 法一样,数据科学家们也想在绝佳的条件下处理最为完美的数据。 1 本书内容 2 第1章,为什么需要清洗数据。这一章通过说明数据清洗在数据科学过程中的重要作用,激 发我们对干净数据的追求。随后用一个简单的例子演示了现实世界中的脏数据。在充分衡量多种 清洗过程的优缺点之后,讲述了如何将清洗所带来的变化告诉其他人。 3 第2章,基础知识——格式、类型与编码。这一章介绍关于文件格式、压缩和数据类型的基 础知识,同时也讨论了数据缺失和空数据,以及字符编码方面的问题。每一节都配有一个真实的 案例。这一章之所以重要,是因为后面几章的学习都以这一章的基本概念为基础。 第3章,数据清洗的老黄牛——电子表格和文本编辑器。这一章描述了如何从常见的电子表 格和文本编辑器中,尽可能多地发掘出数据清洗功能。我们还介绍了一些常见问题的简便处理方 法,包括如何使用函数、搜索和替换、正则表达式来实现数据纠错和转换。在这一章的结尾处, 我们将利用已经掌握的技能,使用上述两种工具来完成一个与大学有关的数据清洗任务。 第4章,讲通用语言——数据转换。这一章着重讨论了如何把数据从一种格式转换成另一种 格式。这是数据清洗工作的重要任务之一,而我们身边各种各样的工具能帮助我们轻松完成该项 任务。我们首先在几种常见的格式之间来回进行转换,如逗号分隔值(CSV)、JSON和SQL。为 了演示如何在实际中使用这些技术,我们会完成一个实验项目。我们会从Facebook上下载好友关 系网络数据,并把它们转换成不同的数据格式,以形象化地展现数据之间的关系。 第5章,收集并清洗来自网络的数据。这一章描述了三种专门针对HTML页面的数据清洗方 法。其中介绍了如何利用三种流行工具从标记文本中提取数据,同时介绍了一些基本概念,以便 理解其他方法。在这一章的例子中,我们会建立起一系列的清洗步骤,专门用于从网络论坛中抽 取数据。 第6章,清洗PDF文件中的数据。这一章介绍了几种最为常见的数据顽症处理方法:提取Adobe 的PDF文件中的数据。我们先采用一些低成本的工具来完成这项任务,然后再选择一些容易上手 并且门槛较低的工具,最后采用Adobe自己的付费软件。所有实验都会一如既往地使用真实数据, 这能让我们在学会解决问题的同时积累宝贵的经验。 第7章,RDBMS清洗技术。在这一章里,我们使用对公众开放的推文数据来演示多种适用于 关系型数据库的数据清洗策略。例子中使用的数据库是MySQL,但其中的许多概念,如基于正 则表达式的文本提取和异常检测,可以轻而易举地应用到其他存储系统中。 第8章,数据分享的最佳实践。这一章描述了多种分享清洗过的数据的方法,以便他人轻松 4 5 6 7 8 9 10 11 12 13 vi 前 言 地使用你的数据。即使你暂时还没有分享数据的打算,这些方法和策略也会对你以后组织工作中 的数据有所帮助。本章具体内容包括如何创建各种格式的理想数据包,如何在文档中对这些数据 进行描述,如何为数据选择适合的许可协议,以及如何按需进行数据发布。 第9章,Stack Overflow项目。在这一章中我们将使用真实的数据来指导你完成一个完整的项 目。在项目开始前,我们会提出一些与数据集有关的实实在在的问题。在回答这些问题期间,我 们将完成第1章中所介绍的整个数据科学过程,并把在前面几章学过的清洗方法应用到其中。除 此之外,为了应对庞大的数据量,我们还将采用一些新的技术来创建测试数据集。 第10章,Twitter项目。这一章描述的也是一个完整的项目,其目的是为了演示如何执行最热 和变化最快的数据收集和清洗任务:Twitter挖掘。在演示中,我们将会查找并收集与某一时事相 关的可公开获取的推文归档数据,同时遵守Twitter服务条款。数据采用的是目前网络API所支持 的最为流行的JSON格式。在清洗和提取数据的同时,我们还将解答一个与数据集有关的简单问 题。最后,我们将设计一个简单的数据模型,用它来长期存放已经抽取出来并且经过清洗的数据, 并做一些简单的可视化实现。 你需要准备些什么 为了完成本书中的项目,你会用到下面这些工具和资源。  一款浏览器,互联网接入,现代的操作系统。我们对浏览器和操作系统本身没有什么特       别的要求,但最好能支持命令行终端窗口(比如OS X上的Terminal应用)。另外,在第5 章里涉及的三项活动中,有一项要依靠Chrome浏览器所提供的一个工具,所以如果你想 顺利完成这项活动的话,请务必准备充分。 文本编辑器,如Mac OS X上的Text Wrangler,或是Windows上的Notepad++。有的集成开 发环境(IDE,如Eclipse)也可以用来充当文本编辑器,但这些应用往往捆绑了太多你根 本不需要的特性。 电子表格应用程序,如微软的Excel,或者是Google的Spreadsheets。本书中提供的例子会 尽量保证在这两种工具下都可以正常运行,但有时也可能只能在一种工具下运行。 安装Python开发环境与Python库。我推荐使用Enthought Canopy Python环境,其地址为 https://www.enthought.com/products/canopy/。 一个能够运行的MySQL,版本需要在5.5以上。 Web服务器和PHP,PHP版本要求5以上。 MySQL 客 户 端 接 口 , 可 以 是 命 令 行 终 端 , 也 可 以 是 MySQL Workbench , 或 者 是 phpMyAdmin(前提是你已经装好了PHP)。 前 言 vii 本书的目标读者 如果你现在正在读这本书的话,我猜想你可能属于下面两类人之一。第一类是在数据清洗工 作上花费了大量时间的数据科学家,希望可以进一步提高工作效率。在面对乏味单调的数据清洗 任务时,你也许会觉得有些苦闷,正在寻求能够加快处理速度、提高效率的方法,或者想着是否 有些别的什么工具可以立马把工作做完。在厨房的比喻中,你恰好就是那

pdf文档 [图灵程序设计丛书].干净的数据:数据清洗入门与实践

专业资料 > IT/计算机 > 互联网 > 文档预览
206 页 0 下载 233 浏览 3.0分
温馨提示:当前文档最多只能预览 20 页,若文档总页数超出了 20 页,请下载原文档以浏览全部内容。
本文档由 woyaoziliao 于 2020-12-18上传分享
相关精品文档