书籍详情

Python数据处理

Python数据处理

作者:(美)杰奎琳·凯泽尔 凯瑟琳-贾缪尔(作者) 张亮 吕家明(译者)

出版社:人民邮电出版社

出版时间:2017-06-01

ISBN:9787115459190

定价:¥99.00

购买这本书可以去
内容简介
  本书采用基于项目的方法,介绍用Python完成数据获取、数据清洗、数据探索、数据呈现、数据规模化和自动化的过程。主要内容包括:Python基础知识,如何从CSV、Excel、XML、JSON和PDF文件中提取数据,如何获取与存储数据,各种数据清洗与分析技术,数据可视化方法,如何从网站和API中提取数据。
作者简介
  作者:[美] 杰奎琳·凯泽尔(Jacqueline Kazil)凯瑟琳?贾缪尔(Katharine Jarmul) 译者:张亮 吕家明Jacqueline Kazil,数据科学家,zi深软件开发者。活跃于Python软件基金会、PyLadies等社区。曾参与美国总统创新伙伴项目,是美国政府技术组织18F的联合创始人。曾担任《华盛顿邮报》数据记者。Katharine Jarmul,zi深Python开发者,PyLadies联合创始人。喜欢数据分析和获取、网页抓取、教人学习Python以及Unix,期望通过教育和培训来促进Python和其他开源语言的多元化。
目录
前言 xiii 第1 章 Python 简介 1 1.1 为什么选择Python 4 1.2 开始使用Python 4 1.2.1 Python 版本选择 5 1.2.2 安装Python 6 1.2.3 测试Python 9 1.2.4 安装pip 11 1.2.5 安装代码编辑器 12 1.2.6 安装IPython(可选) 13 1.3 小结 13 第2 章 Python 基础 14 2.1 基本数据类型 15 2.1.1 字符串 15 2.1.2 整数和浮点数 15 2.2 数据容器 18 2.2.1 变量 18 2.2.2 列表 21 2.2.3 字典 22 2.3 各种数据类型的用途 23 2.3.1 字符串方法:字符串能做什么 24 2.3.2 数值方法:数字能做什么 25 2.3.3 列表方法:列表能做什么 26 2.3.4 字典方法:字典能做什么 27 2.4 有用的工具:type、dir 和help 28 2.4.1 type 28 2.4.2 dir 28 2.4.3 help 30 2.5 综合运用 31 2.6 代码的含义 32 2.7 小结 33 第3 章 供机器读取的数据 34 3.1 CSV 数据 35 3.1.1 如何导入CSV 数据 36 3.1.2 将代码保存到文件中并在命令行中运行 39 3.2 JSON 数据 41 3.3 XML 数据 44 3.4 小结 56 第4 章 处理Excel 文件 58 4.1 安装Python 包 58 4.2 解析Excel 文件 59 4.3 开始解析 60 4.4 小结 71 第5 章 处理PDF 文件,以及用Python 解决问题 73 5.1 尽量不要用PDF 73 5.2 解析PDF 的编程方法 74 5.2.1 利用slate 库打开并读取PDF 75 5.2.2 将PDF 转换成文本 77 5.3 利用pdfminer 解析PDF 78 5.4 学习解决问题的方法 92 5.4.1 练习:使用表格提取,换用另一个库 94 5.4.2 练习:手动清洗数据 98 5.4.3 练习:试用另一种工具 98 5.5 不常见的文件类型 101 5.6 小结 101 第6 章 数据获取与存储 103 6.1 并非所有数据生而平等 103 6.2 真实性核查 104 6.3 数据可读性、数据清洁度和数据寿命 105 6.4 寻找数据 105 6.4.1 打电话 105 6.4.2 美国政府数据 106 6.4.3 全球政府和城市开放数据 107 6.4.4 组织数据和非政府组织数据 109 6.4.5 教育数据和大学数据 109 6.4.6 医学数据和科学数据 109 6.4.7 众包数据和API 110 6.5 案例研究:数据调查实例 111 6.5.1 埃博拉病毒危机 111 6.5.2 列车安全 111 6.5.3 足球运动员的薪水 112 6.5.4 童工 112 6.6 数据存储 113 6.7 数据库简介 113 6.7.1 关系型数据库:MySQL 和PostgreSQL 114 6.7.2 非关系型数据库:NoSQL 116 6.7.3 用Python 创建本地数据库 117 6.8 使用简单文件 118 6.8.1 云存储和Python 118 6.8.2 本地存储和Python 119 6.9 其他数据存储方式 119 6.10 小结 119 第7 章 数据清洗:研究、匹配与格式化 121 7.1 为什么要清洗数据 121 7.2 数据清洗基础知识 122 7.2.1 找出需要清洗的数据 123 7.2.2 数据格式化 131 7.2.3 找出离群值和不良数据 135 7.2.4 找出重复值 140 7.2.5 模糊匹配 143 7.2.6 正则表达式匹配 146 7.2.7 如何处理重复记录 150 7.3 小结 151 第8 章 数据清洗:标准化和脚本化 153 8.1 数据归一化和标准化 153 8.2 数据存储 154 8.3 找到适合项目的数据清洗方法 156 8.4 数据清洗脚本化 157 8.5 用新数据测试 170 8.6 小结 172 第9 章 数据探索和分析 173 9.1 探索数据 173 9.1.1 导入数据 174 9.1.2 探索表函数 179 9.1.3 联结多个数据集 182 9.1.4 识别相关性 186 9.1.5 找出离群值 187 9.1.6 创建分组 189 9.1.7 深入探索 192 9.2 分析数据 193 9.2.1 分离和聚焦数据 194 9.2.2 你的数据在讲什么 196 9.2.3 描述结论 196 9.2.4 将结论写成文档 197 9.3 小结 197 第10 章 展示数据 199 10.1 避免讲故事陷阱 199 10.1.1 怎样讲故事 200 10.1.2 了解听众 200 10.2 可视化数据 201 10.2.1 图表 201 10.2.2 时间相关数据 207 10.2.3 地图 208 10.2.4 交互式元素 211 10.2.5 文字 212 10.2.6 图片、视频和插画 212 10.3 展示工具 213 10.4 发布数据 213 10.4.1 使用可用站点 213 10.4.2 开源平台:创建一个新网站 215 10.4.3 Jupyter(曾名IPython notebook) 216 10.5 小结 219 第11 章 网页抓取:获取并存储网络数据 221 11.1 抓取什么和如何抓取 221 11.2 分析网页 223 11.2.1 检视:标记结构 224 11.2.2 网络/ 时间线:页面是如何加载的 230 11.2.3 控制台:同JavaScript 交互 232 11.2.4 页面的深入分析 236 11.3 得到页面:如何通过互联网发出请求 237 11.4 使用Beautiful Soup 读取网页 238 11.5 使用lxml 读取网页 241 11.6 小结 249 第12 章 高级网页抓取:屏幕抓取器与爬虫 251 12.1 基于浏览器的解析 251 12.1.1 使用Selenium 进行屏幕读取 252 12.1.2 使用Ghost.py 进行屏幕读取 260 12.2 爬取网页 266 12.2.1 使用Scrapy 创建一个爬虫 266 12.2.2 使用Scrapy 爬取整个网站 273 12.3 网络:互联网的工作原理,以及为什么它会让脚本崩溃 281 12.4 变化的互联网(或脚本为什么崩溃) 283 12.5 几句忠告 284 12.6 小结 284 第13 章 应用编程接口 286 13.1 API 特性 287 13.1.1 REST API 与流式API 287 13.1.2 频率限制 287 13.1.3 分级数据卷 288 13.1.4 API key 和token 289 13.2 一次简单的Twitter REST API 数据拉取 290 13.3 使用Twitter REST API 进行高级数据收集 292 13.4 使用Twitter 流式API 进行高级数据收集 295 13.5 小结 297 第14 章 自动化和规模化 298 14.1 为什么要自动化 298 14.2 自动化步骤 299 14.3 什么会出错 301 14.4 在哪里自动化 302 14.5 自动化的特殊工具 303 14.5.1 使用本地文件、参数及配置文件 303 14.5.2 在数据处理中使用云 308 14.5.3 使用并行处理 310 14.5.4 使用分布式处理 312 14.6 简单的自动化 313 14.6.1 CronJobs 314 14.6.2 Web 接口 316 14.6.3 Jupyter notebook 316 14.7 大规模自动化 317 14.7.1 Celery:基于队列的自动化 317 14.7.2 Ansible:操作自动化 318 14.8 监控自动化程序 319 14.8.1 Python 日志 320 14.8.2 添加自动化信息 322 14.8.3 上传和其他报告 326 14.8.4 日志和监控服务 327 14.9 没有万无一失的系统 328 14.10 小结 328 第15 章 结论 330 15.1 数据处理者的职责 330 15.2 数据处理之上 331 15.2.1 成为一名更优秀的数据分析师 331 15.2.2 成为一名更优秀的开发者 331 15.2.3 成为一名更优秀的视觉化讲故事者 332 15.2.4 成为一名更优秀的系统架构师 332 15.3 下一步做什么 332 附录A 编程语言对比 334 附录B 初学者的Python 学习资源 336 附录C 学习命令行 338 附录D 高级Python 设置 349 附录E Python 陷阱 361 附录F IPython 指南 370 附录G 使用亚马逊网络服务 374 关于作者 378 关于封面 378
猜您喜欢

读书导航