干净的数据:数据清洗入门与实践 PDF 文档
本书主要内容包括:数据清洗在数据科学领域中的重要作用,文件格式、数据类型、字符编码的基本概念, 组织和处理数据的电子表格与文本编辑器,各种格式数据的转换方法,解析和清洗网页上的 HTML 文件的 三种策略,提取和清洗 PDF 文件中数据的方法,检测和清除 RDBMS 中的坏数据的解决方案,以及使用书 中介绍的方法清洗来自 Twitter 和 Stack Overflow 的数据。
本书适合任何水平的数据科学家以及对数据清理感兴趣的读者阅读。
世界上第一台计算机的发明者查尔斯·巴贝奇,在他 1864 年的随笔文集中记录了这样一件事,他曾经因为有人认为在输入错误数据的情况下计算机依然能够给出正确答案而错愕不止。100年以后,美国税务部门开始耐心地向人们解释“错进,错出”,以此来表达即便是能力再强的税收官,在用计算机处理数据时,依旧要依赖输入数据的质量。又过了 50 年,到了 2015 年,在这个看起来超级神奇的时代,有着机器学习、自动纠错、预想接口以及比我们本人更为了解我们自己的各种推荐系统。然而,这一切的算法背后,仍旧需要高质量的数据来保证学习的正确性,而我们往往会叹息道“压根儿就没有干净的数据集”。
本书正是为那些时常需要与数据打交道的人准备的,包括数据科学家、数据新闻记者、软件开发人员以及其他相关人士。无论你从事的是哪种职业,本书都会传授你一套快速而简便的实用策略,用来填补现有数据和期望数据之间的空白。人人都期盼能够拥有高质量的完美数据,但现实中的数据往往与我们的期盼相去甚远。我们是否正在饱受各种折磨呢?数据不是缺失就是格式不对,或者位置错误,还有各种异常情况,而这些问题导致的结果可以借用说唱歌手克里斯托弗·华莱士的一句歌词来表达,那就是“数据越多,麻烦越大”。
目录
第 1 章 为什么需要清洗数据
1.1 新视角
1.2 数据科学过程
1.3 传达数据清洗工作的内容
1.4 数据清洗环境
1.5 入门示例
1.6 小结
第 2 章 基础知识——格式、类型与编码
2.1 文件格式
2.1.1 文本文件与二进制文件
2.1.2 常见的文本文件格式
2.1.3 分隔格式
2.2 归档与压缩
2.2.1 归档文件
2.2.2 压缩文件
2.3 数据类型、空值与编码
2.3.1 数据类型
2.3.2 数据类型间的相互转换
2.3.3 转换策略
2.3.4 隐藏在数据森林中的空值
2.3.5 字符编码
2.4 小结
第 3 章 数据清洗的老黄牛——电子表格和文本编辑器
3.1 电子表格中的数据清洗
3.1.1 Excel 的文本分列功能
3.1.2 字符串拆分
3.1.3 字符串拼接
3.2 文本编辑器里的数据清洗
3.2.1 文本调整
3.2.2 列选模式
3.2.3 加强版的查找与替换功能
3.2.4 文本排序与去重处理
3.2.5 Process Lines Containing
3.3 示例项目
3.3.1 第一步:问题陈述
3.3.2 第二步:数据收集
3.3.3 第三步:数据清洗
3.3.4 第四步:数据分析
3.4 小结
第 4 章 讲通用语言——数据转换
4.1 基于工具的快速转换
4.1.1 从电子表格到 CSV
4.1.2 从电子表格到 JSON
4.1.3 使用 phpMyAdmin 从 SQL 语句中生成 CSV 或 JSON
4.2 使用 PHP 实现数据转换
4.2.1 使用 PHP 实现 SQL 到 JSON 的数据转换
4.2.2 使用 PHP 实现 SQL 到 CSV 的数据转换
4.2.3 使用 PHP 实现 JSON 到 CSV 的数据转换
4.2.4 使用 PHP 实现 CSV 到 JSON 的数据转换
4.3 使用 Python 实现数据转换
4.3.1 使用 Python 实现 CSV 到 JSON 的数据转换
4.3.2 使用 csvkit 实现 CSV 到 JSON 的数据转换
4.3.3 使用 Python 实现 JSON 到 CSV 的数据转换
4.4 示例项目
4.4.1 第一步:下载 GDF 格式的 Facebook 数据
4.4.2 第二步:在文本编辑器中查看 GDF 文件
4.4.3 第三步:从 GDF 格式到 JSON 格式的转换
4.4.4 第四步:构建 D3 图
4.4.5 第五步:把数据转换成 Pajek 格式
4.4.6 第六步:简单的社交网络分析
4.5 小结
第 5 章 收集并清洗来自网络的数据
5.1 理解 HTML 页面结构
5.1.1 行分隔模型
5.1.2 树形结构模型
5.2 方法一:Python 和正则表达式
5.2.1 第一步:查找并保存实验用的 Web 文件
5.2.2 第二步:观察文件内容并判定有价值的数据
5.2.3 第三步:编写 Python 程序把数据保存到 CSV 文件中
5.2.4 第四步:查看文件并确认清洗结果
5.2.5 使用正则表达式解析 HTML 的局限性
5.3 方法二:Python 和 BeautifulSoup
5.3.1 第一步:找到并保存实验用的文件
5.3.2 第二步:安装 BeautifulSoup
5.3.3 第三步:编写抽取数据用的 Python 程序
5.3.4 第四步:查看文件并确认清洗结果
5.4 方法三:Chrome Scraper
5.4.1 第一步:安装 Chrome 扩展 Scraper
5.4.2 第二步:从网站上收集数据
5.4.3 第三步:清洗数据
5.5 示例项目:从电子邮件和论坛中抽取数据
5.5.1 项目背景
5.5.2 第一部分:清洗来自 Google Groups 电子邮件的数据
5.5.3 第二部分:清洗来自网络论坛的数据
5.6 小结
第 6 章 清洗 PDF 文件中的数据
6.1 为什么 PDF 文件很难清洗
6.2 简单方案——复制
6.2.1 我们的实验文件
6.2.2 第一步:把我们需要的数据复制出来
6.2.3 第二步:把复制出来的数据粘贴到文本编辑器中
6.2.4 第三步:轻量级文件
6.3 第二种技术——pdfMiner
6.3.1 第一步:安装 pdfMiner
6.3.2 第二步:从 PDF 文件中提取文本
6.4 第三种技术——Tabula
6.4.1 第一步:下载 Tabula
6.4.2 第二步:运行 Tabula
6.4.3 第三步:用 Tabula 提取数据
6.4.4 第四步:数据复制
6.4.5 第五步:进一步清洗
6.5 所有尝试都失败之后——第四种技术
6.6 小结
第 7 章 RDBMS 清洗技术
7.1 准备
7.2 第一步:下载并检查 Sentiment140
7.3 第二步:清洗要导入的数据
7.4 第三步:把数据导入 MySQL
7.4.1 发现并清洗异常数据
7.4.2 创建自己的数据表
7.5 第四步:清洗&字符
7.6 第五步:清洗其他未知字符
7.7 第六步:清洗日期
7.8 第七步:分离用户提及、标签和 URL
7.8.1 创建一些新的数据表
7.8.2 提取用户提及
7.8.3 提取标签
7.8.4 提取 URL
7.9 第八步:清洗查询表
7.10 第九步:记录操作步骤
7.11 小结
第 8 章 数据分享的最佳实践
8.1 准备干净的数据包
警句箴言——使用 GitHub 发布数据
8.2 为数据编写文档
8.2.1 README 文件
8.2.2 文件头
8.2.3 数据模型和图表
8.2.4 维基或 CMS
8.3 为数据设置使用条款与许可协议
常见使用条款
8.4 数据发布
8.4.1 数据集清单列表
8.4.2 Stack Exchange 上的 Open Data
8.4.3 编程马拉松
8.5 小结
第 9 章 Stack Overflow 项目
9.1 第一步:关于 Stack Overflow 的问题
9.2 第二步:收集并存储 Stack Overflow 数据
9.2.1 下载 Stack Overflow 数据
9.2.2 文件解压
9.2.3 创建 MySQL 数据表并加载数据
9.2.4 构建测试表
9.3 第三步:数据清洗
9.3.1 创建新的数据表
9.3.2 提取 URL 并填写新数据表
9.3.3 提取代码并填写新表
9.4 第四步:数据分析
9.4.1 哪些代码分享网站最为流行
9.4.2 问题和答案中的代码分享网站都有哪些
9.4.3 提交内容会同时包含代码分享 URL 和程序源代码吗
9.5 第五步:数据可视化
9.6 第六步:问题解析
9.7 从测试表转向完整数据表
9.8 小结
第 10 章 Twitter 项目
10.1 第一步:关于推文归档数据的问题
10.2 第二步:收集数据
10.2.1 下载并提取弗格森事件的数据文件
10.2.2 创建一个测试用的文件
10.2.3 处理推文 ID
10.3 第三步:数据清洗
10.3.1 创建数据表
10.3.2 用 Python 为新表填充数据
10.4 第四步:简单的数据分析
10.5 第五步:数据可视化
10.6 第六步:问题解析
10.7 把处理过程应用到全数据量(非测试用)数据表
10.8 小结
关注图灵
看完了
下载地址:https://www.wenjiangs.com/wp-content/uploads/2024/03/wSNdRaE6rVaPkkYO.zip
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论