数据无处不在,它们蕴含着独特的信息和有价值的故事,本书将帮助你发掘它们。无论你已经始处理数据,还是想要学习如何处理数据,都能通过本书中的示例与技术学会更好地清洗、评估并分析数据,以形成有意义的洞见,并制作出有说服力的可视化图表。 作者既讲解了基本概念,也给出了专业建议,并且提供了相应的资源来帮助大家学会提取、评估并分析各种数据源和数据格式。另外,作者还讲解了相应的工具,让你能够有效地与他人交流,让对方了解自己通过分析这些数据所得到的观。本书没有艰深的术语,适合各种水平的数据从业者阅读,无论你是纯粹的新手还是有经验的专业人士,都可以通过本书学会如何驾驭数据。
售 价:¥
纸质售价:¥104.30购买纸书
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐
O'Reilly Media, Inc.介绍
译者序
前言
第1章 数据整理与数据质量简介
1.1 什么是数据整理
1.2 什么是数据质量
1.2.1 数据的完整程度
1.2.2 数据的适合程度
1.3 为什么选用Python语言整理数据
1.3.1 功能丰富
1.3.2 容易入门
1.3.3 代码易读
1.3.4 庞大的社区
1.3.5 除了Python还可以考虑哪些语言
1.4 编写并运行Python代码
1.5 如何在自己的设备上编写Python代码
1.5.1 了解如何使用命令行界面
1.5.2 安装Python、Jupyter Notebook与代码编辑器
1.6 在网页版的开发环境中编写Python代码
1.7 编写“Hello World!”程序
1.7.1 用Atom编辑器创建单独的Python文件
1.7.2 用Jupyter新建Python notebook
1.7.3 用Google Colab新建Python notebook
1.8 添加代码
1.8.1 在单独的Python文件中编写代码
1.8.2 在notebook中编写代码
1.9 运行代码
1.9.1 运行写在单独的Python文件中的代码
1.9.2 运行写在notebook中的代码
1.10 撰写文档、保存工作资料和管理不同版本的资料
1.10.1 撰写文档
1.10.2 保存工作资料
1.10.3 管理不同版本的资料
1.11 小结
第2章 Python入门
2.1 词性
2.1.1 日常语言中的名词相当于编程语言中的变量
2.1.2 日常语言中的动词相当于编程语言中的函数
2.1.3 用自定义函数调配代码
2.1.4 通过程序库借用其他开发者所编写的自定义函数
2.2 用循环结构与条件结构控制程序的走向
2.2.1 循环
2.2.2 根据某条件是否成立做不同的处理
2.3 代码中可能出现的各种错误
2.3.1 语法错误
2.3.2 运行时错误
2.3.3 逻辑错误
2.4 用Citi Bike数据来演示如何编写数据整理程序
2.4.1 先写伪代码
2.4.2 试着把程序用在规模更大的数据中
2.5 小结
第3章 了解数据质量
3.1 判断数据是否合适
3.1.1 有效程度
3.1.2 可靠程度
3.1.3 典型程度
3.2 判断数据是否完整
3.2.1 完整的数据所具备的必要非充分特征
3.2.2 完整的数据所具备的重要特征
3.2.3 有则更好的特征
3.3 提升数据的质量
3.3.1 数据清洗
3.3.2 数据增强
3.4 小结
第4章 用Python处理基于文件与基于feed的数据
4.1 结构化的数据与非结构化的数据
4.2 处理结构化的数据
4.2.1 基于文件的表格型数据——这种数据需要切割
4.2.2 用Python语言整理表格型数据
4.3 以了解失业情况为例来整理现实数据
4.3.1 如何把XLSX与ODS等表格数据转换成CSV格式
4.3.2 如何处理固定宽度的表格数据
4.3.3 如何处理基于feed的数据(该数据适合用来分析实时更新的网络内容)
4.3.4 用Python整理feed型数据
4.4 处理非结构化的数据
4.4.1 如何处理基于图像的文本
4.4.2 用Python整理PDF文件
4.4.3 用Tabula访问PDF文件中的表格
4.5 小结
第5章 访问网络数据
5.1 联网访问在线的XML与JSON数据
5.2 API简介
5.3 以搜索引擎为例讲解如何调用基本的API
5.4 如何调用带有基本身份认证机制的API
5.4.1 获取FRED提供的API密钥
5.4.2 通过API密钥请求数据
5.5 阅读API文档
5.6 使用Python时保护你的API密钥
5.6.1 创建包含API密钥的credentials文件
5.6.2 在单独的脚本中使用credentials文件中的API密钥
5.6.3 学习.gitignore文件的用法
5.7 如何调用带有OAuth认证机制的API
5.7.1 申请Twitter开发者账号
5.7.2 在Twitter开发者平台创建你的“App”并获取访问凭据
5.7.3 通过编码调整API Key与API Key Secret的形式
5.7.4 申请access token,并用它来调用Twitter API以获取数据
5.8 调用API时所应遵循的行为准则
5.9 获取数据的最后一招:网页抓取
5.9.1 以MTA数据为例演示如何谨慎地抓取网页
5.9.2 使用浏览器的inspection工具
5.9.3 Python的网页抓取方案:Beautiful Soup
5.10 小结
第6章 评估数据质量
6.1 流行病与PPP
6.2 评估数据的完整程度
6.2.1 数据是否有确定的来源
6.2.2 数据是否及时
6.2.3 数据是否完备
6.2.4 数据是否包含丰富的注解或元数据
6.2.5 数据是否有充足的信息
6.2.6 数据是否一致
6.2.7 数据是否多元
6.2.8 数据是不是原子的
6.2.9 数据是否明确
6.2.10 数据是否从多个方面提供了信息
6.3 评估数据的适合程度
6.3.1 数据是否有效
6.3.2 数据是否可靠
6.3.3 数据是否典型
6.4 小结
第7章 清洗、转换和增强数据
7.1 如何从Citi Bike数据中选取一部分内容
7.1.1 通过切割字段值来提取数据
7.1.2 用正则表达式来实现更为精准的匹配
7.1.3 根据字符串创建日期对象,以筛选特定日期的记录
7.2 把数据文件清洗干净
7.3 把Excel表格中的日期处理好
7.4 把定宽数据转换成真正的CSV文件
7.5 修正拼写不一致的现象
7.6 为了找到简单方案而走过的弯路
7.7 一些容易出错的地方
7.8 增强数据
7.9 小结
第8章 调整并重构代码
8.1 重新思考自定义的函数
8.1.1 这段代码是不是要多次使用
8.1.2 代码是不是已经变得既难看又难懂了
8.1.3 你是不是很讨厌默认的做法
8.2 什么是作用域
8.3 为函数设计参数
8.3.1 设计可选的参数
8.3.2 还有没有其他办法设计参数
8.4 返回值
8.5 以嵌套的形式调用函数
8.6 既有趣又有用的重构
8.6.1 编写函数来判断某天是不是工作日
8.6.2 重构处理元数据与表格数据的脚本
8.7 用pydoc给自定义的脚本与函数撰写文档
8.8 让Python脚本支持命令行参数
8.9 命令行脚本与notebook的区别
8.10 小结
第9章 数据分析入门
9.1 情境很重要
9.2 常规与反常
9.3 评估集中趋势
9.3.1 平均值未必能反映一般状况
9.3.2 多考虑中位数
9.4 另辟蹊径:识别异常值
9.5 数据分析可视化
9.5.1 直方图
9.5.2 对称是很重要的
9.5.3 注意那些聚集在一起的样本
9.6 这些200万美元的贷款记录是怎么回事
9.7 注意按比例计算
9.8 小结
第10章 展示数据
10.1 视觉说服力
10.2 把整理数据后形成的观点表达出来
10.3 如何选择图表
10.3.1 饼图
10.3.2 条形图与柱状图
10.3.3 折线图
10.3.4 散点图
10.3.5 地图
10.4 视觉说服力要素
10.4.1 细节很重要
10.4.2 相信自己和专家的眼力
10.4.3 设定坐标轴的比例及刻度
10.4.4 选择配色
10.4.5 注解很重要
10.5 通过 seaborn与matplotlib库自定义更好的可视化图表
10.6 提高设计水平
10.7 小结
第11章 Python以外的工具
11.1 查看数据的其他工具
11.1.1 电子表格软件
11.1.2 OpenRefine
11.2 分享并展示数据的其他工具
11.2.1 编辑JPG、PNG与GIF图像的工具
11.2.2 编辑SVG与其他矢量图的工具
11.3 考虑原则问题
11.4 小结
附录A其他Python编程资源
A.1 Python语言及各种Python库的官方文档
A.2 安装各种Python软件包
A.3 及时更新开发工具
A.4 如何继续寻找学习资料
附录B再讲一讲Git
B.1 执行git命令之后,进入了奇怪的编辑界面
B.2 git push或git pull命令遭到拒绝
B.3 Git命令速查
附录C获取数据的渠道
C.1 通过数据仓库与API获取数据
C.2 向主题专家询问数据
C.3 援引《信息自由法》来申请数据
C.4 自己收集数据
附录D与可视化及信息设计有关的资源
D.1 信息可视化的基础书籍
D.2 可以随时查阅的参考书籍
D.3 能够激发灵感的参考资料
作者简介
封面简介
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜