大数据教育丛书《Python 大数据基础》
大数据教育丛书
本书系统地讲解了大数据处理相关的过程,并通过Python程序的例子讲解了如何使用Python语言对数据进行采集、存储、分析及可视化。本书的章节设计以目标为导向,首先介绍大数据处理各个环节要做什么事情,然后讲解如何使用Python达到对应的目标。
本书有配套的课件、代码和课后练习题答案,有需要的读者可登录出版社网站,免费下载。书中给出的例子和数据文件都保存在source目录下对应章节的子目录下。
打开网址https://github.com/zhangxiao2000/Pythonbigdata,可获取本书中的所有程序代码。
向上滑动阅览
目录
第1章 大数据基础1
1.1 什么是大数据1
1.2 大数据处理涉及哪些方面3
1.3 为什么用Python解决大数据的问题5
1.4 关于编程的注意事项7
练习题7
第2章 Python环境的准备8
2.1 Python环境的准备8
2.1.1 Python8
2.1.2 Anaconda10
2.2 集成开发环境12
2.2.1 PyCharm12
2.2.2 Spyder15
2.2.3 IPython和Jupyter18
2.3 包的管理和维护19
2.3.1 pip20
2.3.2 conda和Anaconda22
2.4 大数据处理常用的扩展包26
2.4.1 NumPy26
2.4.2 Pandas26
2.4.3 Matplotlib27
2.4.4 SciPy27
2.4.5 scikit-learn28
练习题28
第3章 大数据获取29
3.1 如何获取数据29
3.2 HTML的基础知识30
3.2.1 HTML页面的获取与显示30
3.2.2 单次请求与响应32
3.2.3 HTML网页内容和结构34
3.3 HTML页面的解析36
3.3.1 使用正则表达式提取信息36
3.3.2 使用XPath提取信息44
3.3.3 使用BeautifulSoup提取信息47
3.4 页面的获取59
3.4.1 使用urllib60
3.4.2 使用requests库获取网页67
3.4.3 使用selenium获取网页74
3.4.4 网页抓取面临的问题79
3.5 Python爬虫框架Scrapy82
练习题87
第4章 大数据存储90
4.1 文件存储91
4.1.1 CSV92
4.1.2 XML97
4.1.3 JSON103
4.1.4 Excel108
4.2 数据库存储110
4.2.1 关系型数据库通用流程110
4.2.2 SQLite关系型数据库113
4.2.3 MySQL关系型数据库118
4.2.4 NoSQL数据库125
练习题129
第5章 大数据的数学基础132
5.1 基本的数据结构和运算132
5.1.1 数组对象的创建与属性132
5.1.2 数组对象的元素级运算138
5.2 矩阵运算141
5.2.1 数组的合并、拆分及切片141
5.2.2 矩阵的乘积与线性代数144
5.3 统计与概率计算150
5.4 随机数生成153
练习题157
第6章 数据预处理158
6.1 数据清洗158
6.1.1 缺失值处理158
6.1.2 噪声数据处理163
6.1.3 数据错误发现与修复167
6.2 数据集成167
6.3 数据转换176
6.3.1 z-score规范化177
6.3.2 最大最小规范化182
6.3.3 属性转换184
6.4 数据归约186
练习题187
第7章 数据挖掘与分析189
7.1 模型选择与验证189
7.1.1 模型选择189
7.1.2 模型验证190
7.2 分类算法192
7.2.1 分类学习的性能评估193
7.2.2 逻辑回归197
7.2.3 支持向量机201
7.2.4 朴素贝叶斯204
7.2.5 决策树207
7.2.6 实例分析211
7.3 回归预测215
7.3.1 回归学习的性能评估215
7.3.2 线性回归216
7.3.3 支持向量机(回归)217
7.3.4 等式回归218
7.3.5 决策树(回归)218
7.3.6 实例分析219
7.4 聚类分析222
7.4.1 基于距离的聚类223
7.4.2 基于密度的聚类算法225
7.4.3 基于层次的聚类算法227
7.4.4 聚类的性能评价228
7.4.5 实例分析231
7.5 主成分分析232
练习题232
第8章 大数据可视化235
8.1 数据可视化基础235
8.2 使用Matplotlib绘图239
8.2.1 准备环境239
8.2.2 图表相关的术语240
8.3 使用Matplotlib绘制常见图表242
8.3.1 散点图242
8.3.2 折线图246
8.3.3 条形图248
8.3.4 直方图252
8.3.5 面积图253
8.3.6 饼图254
8.3.7 箱形图256
8.4 进阶功能258
8.4.1 子图258
8.4.2 中文显示262
8.4.3 组合图形与标注264
8.5 如何画出更好的图267
练习题267
参考文献271