《Python数据分析、挖掘与可视化》从大数据分析实际业务流程出发,利用案例贯穿介绍了大数据分析应具备的基础开发技术,包括Python基础、Python高级开发技术、数据采集与存储、数据预处理、数据分析、数据可视化、数据挖掘等;详细介绍了基于Python的数据分析全流程技术和相关机器学习算法;并通过社交用户画像挖掘案例,介绍了从应用场景需求分析→社交数据分析→用户画像构建的开发方法和过程,以及基于Flask框架、用户属性、神经网络挖掘的社交用户数据分析和画像构建过程。
《Python数据分析、挖掘与可视化》既可作为高等院校人工智能、计算机、大数据等专业的相关课程的教材,也可作为大数据分析人员的技术参考书。
前言
第1章 Python基础1
1.1 Python概述1
1.2 Python大数据应用3
1.2.1 Python与大数据技术3
1.2.2 常用行业数据集6
1.2.3 嵌入式开发应用6
1.2.4 数据挖掘及应用7
1.2.5 机器学习及应用8
1.2.6 数据分析未来发展9
1.3 搭建Python开发环境10
1.3.1 Python开发环境系统要求10
1.3.2 Windows系统平台下搭建开发环境10
1.3.3 Linux系统平台下搭建开发环境12
1.3.4 Mac系统平台下搭建开发环境13
1.4 Python集成开发平台14
1.5 Python常用库概述18
1.5.1 Python库简介18
1.5.2 Python库安装及集成19
1.5.3 Python数据分析工具21
1.6 创建Python程序21
1.6.1 在Anaconda下创建Python程序22
1.6.2 命令行创建Python程序25
1.6.3 Python运行在移动终端25
1.6.4 创建Python嵌入式程序27
习题28
第2章 Python高级开发29
2.1 字符串29
2.1.1 字符串及格式化29
2.1.2 字符串常用方法32
2.1.3 字符串匹配与正则表达式匹配33
2.1.4 字符串应用35
2.2 文本处理35
2.2.1 读写JSON数据35
2.2.2 读写CSV数据37
2.2.3 解析XML数据38
2.2.4 字典转XML数据42
2.2.5 文本处理应用43
2.3 文件和流45
2.3.1 打开文件及模式45
2.3.2 文件处理方法46
2.3.3 文件应用47
2.4 网络及Web应用48
2.4.1 创建TCP、UDP服务器48
2.4.2 RPC远程访问51
2.4.3 Python动态网站应用52
2.5 Python图形绘制55
2.5.1 Python GUI简介55
2.5.2 wxPython安装及配置55
2.5.3 wxPython应用55
2.5.4 PySimpleGUI及Jython应用58
2.6 Python测试及框架60
习题63
第3章 Python数据采集与存储64
3.1 数据采集简介64
3.1.1 数据源概述64
3.1.2 常用的爬虫框架66
3.1.3 社交网站信息采集75
3.2 Python数据存储78
3.2.1 文本格式存储78
3.2.2 文本存储应用80
3.2.3 二进制格式存储80
3.2.4 二进制存储应用81
3.3 数据库存储81
3.3.1 Python 常用数据库简介82
3.3.2 MongoDB及应用82
3.3.3 Redis及应用93
3.3.4 SQLite及应用102
3.3.5 PyTables 及应用108
3.3.6 社交数据存储112
3.4 案例:租房数据采集与存储113
习题115
第4章 Python数据预处理116
4.1 数据预处理及工具简介116
4.1.1 预处理基础116
4.1.2 预处理方法117
4.1.3 预处理技术118
4.1.4 垃圾短信分类预处理120
4.2 NumPy122
4.2.1 NumPy安装及配置123
4.2.2 NumPy的数据存取123
4.2.3 NumPy的矩阵构建126
4.2.4 NumPy 的矩阵运算128
4.2.5 NumPy的数学统计131
4.2.6 NumPy的排序运算134
4.2.7 NumPy处理缺失项136
4.3 pandas137
4.3.1 pandas安装及配置138
4.3.2 pandas数据结构141
4.3.3 pandas 数据加载和存储142
4.3.4 pandas数值计算与排序144
4.3.5 pandas数据索引构建147
4.3.6 pandas复杂数据结构148
4.3.7 书目信息索引149
4.4 SciPy150
4.4.1 SciPy安装及配置151
4.4.2 SciPy的文件输入与输出152
4.4.3 SciPy的特殊函数应用152
4.4.4 SciPy的线性代数运算153
4.4.5 SciPy的快速傅里叶变换154
4.4.6 SciPy的优化和拟合155
4.5 案例:社交网站数据预处理157
习题162
第5章 Python数据分析163
5.1 数据分析简介163
5.1.1 数据分析发展163
5.1.2 数据分析主流技术164
5.1.3 数据分析应用领域166
5.2 Python 数据分析库167
5.2.1 scikit-learn167
5.2.2 statsmodels170
5.2.3 Gensim172
5.2.4 Keras174
5.2.5 社交网站数据分析177
5.3 分类178
5.3.1 分类简介179
5.3.2 常用分类算法179
5.3.3 分类评价标准181
5.3.4 新闻分类182
5.4 回归184
5.4.1 回归简介184
5.4.2 常用回归算法185
5.4.3 回归评价标准187
5.4.4 房屋价格回归分析188
5.5 聚类189
5.5.1 聚类简介189
5.5.2 典型聚类算法189
5.5.3 聚类评价标准191
5.5.4 用户社区聚类分析192
5.6 机器学习基础194
5.6.1 机器学习简介194
5.6.2 常见机器学习算法195
5.6.3 主流应用框架196
5.6.4 Theano 应用198
5.7 案例:购物网站用户态度及情感分析199
习题201
第6章 Python 数据可视化202
6.1 数据可视化简介202
6.1.1 数据可视化定义202
6.1.2 数据可视化发展203
6.1.3 数据可视化分类204
6.1.4 数据可视化应用205
6.2 数据可视化基础206
6.2.1 数据可视化基本流程206
6.2.2 主流数据可视化分析技术207
6.2.3 人口迁移数据可视化209
6.3 数据可视化开发工具210
6.3.1 matplotlib210
6.3.2 NetworkX213
6.3.3 seaborn214
6.3.4 ggplot216
6.3.5 Bokeh217
6.3.6 Pygal219
6.3.7 Plotly221
6.3.8 pyecharts224
6.4 数据可视化分析框架227
6.5 案例:话题漂移可视化228
习题232
第7章 Python数据挖掘与应用233
7.1 数据挖掘简介233
7.1.1 Python数据挖掘基础234
7.1.2 文本分词236
7.1.3 Gensim文本主题挖掘237
7.1.4 新词发现242
7.2 Python视频数据处理244
7.2.1 常见视频数据处理算法244
7.2.2 OpenCV的基本操作245
7.2.3 scikit-video视频读写操作248
7.2.4 MoviePy视频编辑操作250
7.2.5 人物视频识别检测252
7.3 Python图像数据处理255
7.3.1 常见图像处理算法255
7.3.2 Python图像处理库260
7.3.3 手写数字图像及字体识别262
7.3.4 基于CNN的图像识别应用267
7.4 案例:热点话题挖掘272
习题277
第8章 综合案例:社交用户画像
挖掘278
8.1 用户画像简介278
8.1.1 用户画像基础278
8.1.2 用户画像标签体系281
8.1.3 搭建用户画像挖掘系统环境284
8.2 用户属性挖掘模块286
8.2.1 基础标签创建286
8.2.2 标签数据存储290
8.2.3 用户属性可视化292
8.3 用户兴趣挖掘模块295
8.3.1 用户兴趣挖掘295
8.3.2 用户兴趣数据存储301
8.3.3 用户兴趣可视化302
8.4 用户行为挖掘模块305
8.4.1 行为挖掘305
8.4.2 基于神经网络的挖掘308
8.4.3 行为标签存储312
8.4.4 用户行为关系可视化313
8.5 用户画像前端模块315
8.5.1 标签综合视图315
8.5.2 单个用户画像325
8.5.3 用户群体画像334
习题340