Python数据分析与大数据处理从入门到精通
作者:朱春旭编著
出版时间:2019年版
内容简介
《Python数据分析与大数据处理从入门到精通》主要讲解数据分析与大数据处理所需的技术、基础设施、核心概念、实施流程。从编程语言准备、数据采集与清洗、数据分析与可视化,到大型数据的分布式存储与分布式计算,贯穿了整个大数据项目开发流程。本书轻理论、重实践,目的是让读者快速上手。1篇首先介绍了Python的基本语法、面向对象开发、模块化设计等,掌握Python的编程方式。然后介绍了多线程、多进程及其相互间的通信,让读者对分布式程序有个基本的认识。第2篇介绍了网络数据采集、数据清洗、数据存储等技术。第3篇介绍了Python常用的数据分析工具,扩展了更多的数据清洗、插值方法,为最终的数据可视化奠定基础。第4篇是大数据分析的重点。首先介绍了Hadoop的框架原理、调度原理,MapReduce原理与编程模型、环境搭建,接着介绍了Spark框架原理、环境搭建方式,以及如何与Hive等第三方工具进行交互,还介绍了新的结构化流式处理技术。第5篇通过三个项目实例,综合介绍了如何分析网页、如何搭建分布式爬虫、如何应对常见的反爬虫、如何设计数据模型、如何设计架构模型、如何在实践中综合运用前四篇涉及的技术。本书既适合非计算机专业的编程“小白”,也适合刚毕业或即将毕业走向工作岗位的广大毕业生,以及已经有编程经验,但想转行做大数据分析的专业人士。同时,还可以作为广大职业院校、电脑培训班的教学参考用书。
目录
第1篇 Python程序设计 \n
第1章 Python入门 3 \n
1.1 Python概述 4 \n
1.2 搭建Python开发环境 6 \n
1.3 Python开发工具介绍 11 \n
1.4 Python软件包的管理 13 \n
1.5 实训:编写“Hello World” 15 \n
本章小结 16 \n
第2章 Python基础 17 \n
2.1 变量 18 \n
2.2 标识符 24 \n
2.3 代码组织 26 \n
2.4 输入与输出 28 \n
2.5 运算符与优先级 30 \n
2.6 新手问答 30 \n
2.7 实训:设计一个简易计算器 31 \n
本章小结 31 \n
第3章 数据类型与流程控制 32 \n
3.1 数字类型 33 \n
3.2 字符串类型 37 \n
3.3 集合类型 40 \n
3.4 流程控制语句 45 \n
3.5 新手问答 47 \n
3.6 实训:设计算法,输出乘法表 49 \n
本章小结 50 \n
第4章 函数、模块、包 51 \n
4.1 自定义函数 52 \n
4.2 函数参数 55 \n
4.3 函数式编程 58 \n
4.4 模块与包 63 \n
4.5 新手问答 65 \n
4.6 实训:设计算法,对列表进行排序 67 \n
本章小结 68 \n
第5章 面向对象的程序设计 69 \n
5.1 面向对象 70 \n
5.2 自定义类 71 \n
5.3 属性 73 \n
5.4 方法 79 \n
5.5 类的继承 83 \n
5.6 可调用对象 86 \n
5.7 不可变对象 87 \n
5.8 新手问答 88 \n
5.9 实训:设计算法,构造一棵二叉树 90 \n
本章小结 92 \n
第6章 高级主题 93 \n
6.1 生成器 94 \n
6.2 迭代器 96 \n
6.3 异步处理 97 \n
6.4 错误、调试 103 \n
6.5 新手问答 108 \n
6.6 实训:使用多进程技术统计数据并汇总 109 \n
本章小结 110 \n
第2篇 数据采集与数据清洗 \n
第7章 网络数据采集 113 \n
7.1 HTTP请求概述 114 \n
7.2 XPath网页解析 114 \n
7.3 Scrapy数据采集入门 119 \n
7.4 Scrapy应对反爬虫程序 126 \n
7.5 CrawlSpider类 131 \n
7.6 分布式爬虫 132 \n
7.7 新手问答 136 \n
7.8 实训:构建百度云音乐爬虫 136 \n
本章小结 139 \n
第8章 数据清洗 140 \n
8.1 数据清洗的意义 141 \n
8.2 数据清洗的内容 141 \n
8.3 数据格式与存储类型 142 \n
8.4 数据清洗的步骤 145 \n
8.5 数据清洗的工具 147 \n
8.6 新手问答 151 \n
8.7 实训:清洗百度云音乐数据并储存到CSV 151 \n
本章小结 152 \n
第3篇 数据分析与可视化 \n
第9章 NumPy数值计算 155 \n
9.1 NumPy基础 156 \n
9.2 形状操作 164 \n
9.3 副本、浅拷贝和深拷贝 166 \n
9.4 高级索引 168 \n
9.5 排序统计 171 \n
9.6 新手问答 173 \n
9.7 实训:销售额统计 174 \n
本章小结 175 \n
第10章 Matplotlib可视化 176 \n
10.1 图形的基本要素 177 \n
10.2 绘图基础 177 \n
10.3 设置样式 186 \n
10.4 图形样例 189 \n
10.5 新手问答 198 \n
10.6 实训:营业数据可视化 199 \n
本章小结 201 \n
第11章 Pandas统计分析 202 \n
11.1 Pandas数据结构 203 \n
11.2 基础功能 210 \n
11.3 统计分析 217 \n
11.4 时间数据 229 \n
11.5 数据整理 231 \n
11.6 高级功能 234 \n
11.7 读写MySQL数据库 236 \n
11.8 新手问答 237 \n
11.9 实训:成绩分析 237 \n
本章小结 239 \n
第12章 Seaborn可视化 240 \n
12.1 Seaborn概述 241 \n
12.2 可视化数据关系 242 \n
12.3 根据数据分类绘图 246 \n
12.4 单变量与双变量 251 \n
12.5 线性关系 256 \n
12.6 新手问答 258 \n
12.7 实训:成绩分析可视化 258 \n
本章小结 260 \n
第4篇 大数据存储与快速分析篇 \n
第13章 Hadoop数据存储与基本操作 263 \n
13.1 Hadoop概述 264 \n
13.2 Hadoop数据存储与任务调度原理 268 \n
13.3 Hadoop基础环境搭建 273 \n
13.4 Hadoop部署模式 294 \n
13.5 Hadoop常用操作命令 298 \n
13.6 新手问答 300 \n
13.7 实训:动手搭建Hadoop集群环境 301 \n
本章小结 309 \n
第14章 Spark入门 310 \n
14.1 Spark概述 311 \n
14.2 Spark核心原理 312 \n
14.3 Spark基础环境搭建 315 \n
14.4 Spark运行模式 317 \n
14.5 新手问答 321 \n
14.6 实训:动手搭建Spark集群 322 \n
本章小结 323 \n
第15章 Spark RDD编程 324 \n
15.1 RDD设计原理 325 \n
15.2 RDD编程 328 \n
15.3 键值对RDD 335 \n
15.4 文件读写 340 \n
15.5 编程进阶 342 \n
15.6 新手问答 347 \n
15.7 实训:统计海鲜销售情况 348 \n
本章小结 350 \n
第16章 Spark SQL编程 351 \n
16.1 Spark SQL概述 352 \n
16.2 创建DataFrame对象 360 \n
16.3 DataFrame常用API 364 \n
16.4 保存DataFrame 370 \n
16.5 新手问答 372 \n
16.6 实训:统计手机销售情况 373 \n
本章小结 375 \n
第17章 Spark流式计算编程 376 \n
17.1 流计算简介 377 \n
17.2 Discretized Stream 379 \n
17.3 Structured Streaming 385 \n
17.4 新手问答 397 \n
17.5 实训:实时统计贷款金额 397 \n
本章小结 398 \n
第5篇 项目实战篇 \n
第18章 分析电商网站销售数据 401 \n
18.1 目标分析 402 \n
18.2 数据采集 405 \n
18.3 数据分析 411 \n
本章小结 416 \n
第19章 分析旅游网站数据 417 \n
19.1 目标分析 418 \n
19.2 数据采集 420 \n
19.3 数据分析 425 \n
本章小结 429 \n
第20章 分析在售二手房数据 430 \n
20.1 目标分析 431 \n
20.2 数据采集 434 \n
20.3 数据分析 440 \n
本章小结 446 \n
附录:Python常见面试题精选 447 \n
主要参考文献 450