Python数据分析与应用:从数据获取到可视化(第2版) / Python应用编程丛书
定价:¥59.00
作者: 黑马程序员
出版时间:2023-12
最新印次日期:2025-1
出版社:中国铁道出版社
- 中国铁道出版社
- 9787113306496
- 2-3
- 521429
- 60269785-6
- 16开
- 2023-12
- 工学
- 计算机类
- 电子与信息大类
- 计算机类
- 计算机类
- 本科
作者简介
内容简介
本书以Anaconda为主要开发工具,全面系统地介绍了Python数据分析的相关知识。全书共10章,第1章介绍了数据分析的基本概念,以及开发工具的安装和使用;第2~6章介绍了Python数据分析的常用库及其应用,包括如何使用NumPy对一维数组和二维数组进行数值计算和操作,如何使用pandas进行数据获取、预处理以及分组与聚合等一些操作,如何使用Matplotlib、Seaborn与Pyecharts进行数据可视化;第7~8章介绍了时间序列和文本数据的分析;第9章介绍了机器学习的相关概念以及KNN算法;第10章开发了一个数据分析的综合项目,完整呈现了数据分析及可视化的全过程。
本书附有丰富的教学资源,包括教学大纲、教学设计、教学PPT、教学视频、配套题库、源代码等,为帮助读者更好地学习本书内容,还提供在线答疑服务。
本书适合作为高等院校计算机相关专业及其他工科专业数据分析类课程教材,也可作为数据分析爱好者的参考书。
本书附有丰富的教学资源,包括教学大纲、教学设计、教学PPT、教学视频、配套题库、源代码等,为帮助读者更好地学习本书内容,还提供在线答疑服务。
本书适合作为高等院校计算机相关专业及其他工科专业数据分析类课程教材,也可作为数据分析爱好者的参考书。
目录
第1章数据分析概述1
1.1数据分析产生的背景1
1.2什么是数据分析2
1.3数据分析的应用场景3
1.4数据分析的流程4
1.5为什么选择Python做数据分析5
1.6搭建开发环境6
1.6.1Anaconda概述6
1.6.2Anaconda的安装7
1.6.3通过Anaconda管理包12
1.7启用JupyterNotebook14
1.7.1启动Anaconda自带的JupyterNotebook14
1.7.2JupyterNotebook界面详解15
1.7.3JupyterNotebook的基本使用17
1.8常见的数据分析库20
小结21
习题22
第2章科学计算库NumPy23
2.1认识NumPy数组23
2.1.1NumPy数组的相关概念23
2.1.2NumPy数组的属性25
2.2创建数组26
2.3数组的数据类型28
2.3.1查看数据类型28
2.3.2转换数据类型29
2.4数组的索引和切片30
2.4.1数组的索引方式30
2.4.2整数索引和切片31
2.4.3花式索引32
2.4.4布尔索引33
2.5数组的算术运算34
2.5.1形状相同的数组间的算术运算34
2.5.2形状不同的数组间的算术运算35
2.5.3数组与标量的算术运算36
2.6通用函数37
2.7数组的重塑与转置39
2.7.1数组的重塑39
2.7.2数组的转置40
2.8数组的其他操作43
2.8.1条件逻辑43
2.8.2统计运算43
2.8.3数组元素排序44
2.8.4检索数组元素是否满足条件45
2.8.5查找数组的唯一元素45
2.8.6判断元素是否在其他数组中45
2.9线性代数模块46
2.10随机数模块47
2.11案例:计算股票收益率和波动率48
2.11.1案例需求48
2.11.2数据准备49
2.11.3案例实现49
小结50
习题50
第3章数据分析库pandas基础52
3.1数据结构53
3.1.1Series53
3.1.2DataFrame55
3.2索引和切片操作57
3.2.1索引对象57
3.2.2重置索引58
3.2.3通过索引和切片获取数据60
3.2.4通过loc和iloc属性获取数据62
3.3读写数据65
3.3.1读写CSV和TXT文件的数据65
3.3.2读写Excel文件的数据69
3.3.3读取网页表格的数据72
3.3.4读写数据库73
3.4数据排序77
3.4.1按索引排序77
3.4.2按值排序78
3.5算术运算与数据对齐79
3.6统计计算与描述80
3.6.1统计计算80
3.6.2统计描述81
3.7分层索引操作82
3.7.1创建分层索引82
3.7.2创建有分层索引的对象84
3.7.3使用分层索引获取数据86
3.7.4交换索引层级的顺序87
3.7.5分层索引排序87
3.8案例:陕西高考分数线统计分析89
3.8.1案例需求89
3.8.2数据准备89
3.8.3案例实现89
小结92
习题92
第4章数据预处理94
4.1数据清洗94
4.1.1缺失值的检测95
4.1.2缺失值的处理96
4.1.3重复值的检测100
4.1.4重复值的处理101
4.1.5异常值的检测101
4.1.6异常值的处理104
4.1.7转换数据类型106
4.2数据合并108
4.2.1堆叠合并108
4.2.2主键合并110
4.2.3根据索引合并115
4.2.4合并重叠数据117
4.3数据重塑118
4.3.1重塑分层索引118
4.3.2轴向旋转121
4.4数据转换122
4.4.1面元划分122
4.4.2哑变量处理123
4.5案例:预处理二手房数据124
4.5.1案例需求125
4.5.2数据准备125
4.5.3案例实现127
小结131
习题131
第5章数据聚合与分组运算134
5.1分组与聚合的原理134
5.2分组操作135
5.2.1通过groupby()对数据进行分组135
5.2.2查看分组信息140
5.3数据聚合141
5.3.1通过统计方法聚合数据141
5.3.2通过agg()方法聚合数据142
5.4分组级运算145
5.4.1数据转换145
5.4.2数据应用147
5.5案例:篮球运动员信息分析149
5.5.1案例需求149
5.5.2数据准备150
5.5.3案例实现150
小结158
习题159
第6章数据可视化161
6.1数据可视化概述161
6.1.1什么是数据可视化161
6.1.2常见的图表类型162
6.1.3图表的辅助元素165
6.2使用Matplotlib绘图166
6.2.1绘制折线图166
6.2.2绘制柱形图170
6.2.3绘制直方图173
6.2.4绘制散点图176
6.3使用Seaborn绘图177
6.3.1可视化数据的分布178
6.3.2用分类数据绘图181
6.4使用Pyecharts绘图185
6.4.1Pyecharts简介185
6.4.2绘制柱形图188
6.4.3绘制词云图191
6.4.4绘制气泡图192
6.4.5绘制圆环图195
6.5案例:电影数据分析196
6.5.1案例需求196
6.5.2数据准备197
6.5.3案例实现198
小结203
习题203
第7章时间序列分析205
7.1时间序列概述205
7.2时间序列的基本操作206
7.2.1创建带时间戳的时间序列206
7.2.2获取时间序列子集207
7.3固定频率的时间序列209
7.3.1创建固定频率的时间序列209
7.3.2时间序列的频率与偏移量211
7.3.3时间序列的移动213
7.4时间周期与计算214
7.4.1创建带时期索引的对象214
7.4.2时期的频率转换215
7.5重采样216
7.5.1重采样方法216
7.5.2降采样218
7.5.3升采样219
7.6滑动窗口220
7.7案例:某城市报警记录分析223
7.7.1案例需求223
7.7.2数据准备223
7.7.3案例实现224
小结229
习题229
第8章文本数据分析.231
8.1文本数据分析工具231
8.1.1认识NLTK与jieba231
8.1.2安装jieba和NLTK语料库232
8.2文本预处理234
8.2.1基本流程234
8.2.2分词235
8.2.3词性标注236
8.2.4词形归一化238
8.2.5删除停用词240
8.3文本情感分析241
8.4文本相似度243
8.5文本分类246
8.6案例:商品评论分析249
8.6.1案例需求249
8.6.2数据准备250
8.6.3案例实现250
小结253
习题253
第9章机器学习入门256
9.1机器学习简介256
9.1.1什么是机器学习256
9.1.2机器学习的基本概念257
9.1.3机器学习算法的分类259
9.1.4机器学习解决问题的流程260
9.1.5认识机器学习库scikit-learn262
9.2KNN算法263
9.2.1KNN算法的思想264
9.2.2使用sklearn实现KNN算法264
9.2.3超参数266
9.2.4网格搜索与交叉验证269
9.2.5归一化271
9.2.6使用sklearn实现归一化273
9.3案例:预测签到位置275
9.3.1案例需求275
9.3.2数据准备276
9.3.3案例实现276
小结280
习题280
第10章实战演练——租房数据统计分析282
10.1数据收集282
10.2数据处理283
10.2.1重复值检测与处理283
10.2.2数据类型转换284
10.3数据分析与展示285
10.3.1房源数量分析285
10.3.2户型数量分析287
10.3.3房源平均租金分析289
10.3.4房源面积区间分析292
1.1数据分析产生的背景1
1.2什么是数据分析2
1.3数据分析的应用场景3
1.4数据分析的流程4
1.5为什么选择Python做数据分析5
1.6搭建开发环境6
1.6.1Anaconda概述6
1.6.2Anaconda的安装7
1.6.3通过Anaconda管理包12
1.7启用JupyterNotebook14
1.7.1启动Anaconda自带的JupyterNotebook14
1.7.2JupyterNotebook界面详解15
1.7.3JupyterNotebook的基本使用17
1.8常见的数据分析库20
小结21
习题22
第2章科学计算库NumPy23
2.1认识NumPy数组23
2.1.1NumPy数组的相关概念23
2.1.2NumPy数组的属性25
2.2创建数组26
2.3数组的数据类型28
2.3.1查看数据类型28
2.3.2转换数据类型29
2.4数组的索引和切片30
2.4.1数组的索引方式30
2.4.2整数索引和切片31
2.4.3花式索引32
2.4.4布尔索引33
2.5数组的算术运算34
2.5.1形状相同的数组间的算术运算34
2.5.2形状不同的数组间的算术运算35
2.5.3数组与标量的算术运算36
2.6通用函数37
2.7数组的重塑与转置39
2.7.1数组的重塑39
2.7.2数组的转置40
2.8数组的其他操作43
2.8.1条件逻辑43
2.8.2统计运算43
2.8.3数组元素排序44
2.8.4检索数组元素是否满足条件45
2.8.5查找数组的唯一元素45
2.8.6判断元素是否在其他数组中45
2.9线性代数模块46
2.10随机数模块47
2.11案例:计算股票收益率和波动率48
2.11.1案例需求48
2.11.2数据准备49
2.11.3案例实现49
小结50
习题50
第3章数据分析库pandas基础52
3.1数据结构53
3.1.1Series53
3.1.2DataFrame55
3.2索引和切片操作57
3.2.1索引对象57
3.2.2重置索引58
3.2.3通过索引和切片获取数据60
3.2.4通过loc和iloc属性获取数据62
3.3读写数据65
3.3.1读写CSV和TXT文件的数据65
3.3.2读写Excel文件的数据69
3.3.3读取网页表格的数据72
3.3.4读写数据库73
3.4数据排序77
3.4.1按索引排序77
3.4.2按值排序78
3.5算术运算与数据对齐79
3.6统计计算与描述80
3.6.1统计计算80
3.6.2统计描述81
3.7分层索引操作82
3.7.1创建分层索引82
3.7.2创建有分层索引的对象84
3.7.3使用分层索引获取数据86
3.7.4交换索引层级的顺序87
3.7.5分层索引排序87
3.8案例:陕西高考分数线统计分析89
3.8.1案例需求89
3.8.2数据准备89
3.8.3案例实现89
小结92
习题92
第4章数据预处理94
4.1数据清洗94
4.1.1缺失值的检测95
4.1.2缺失值的处理96
4.1.3重复值的检测100
4.1.4重复值的处理101
4.1.5异常值的检测101
4.1.6异常值的处理104
4.1.7转换数据类型106
4.2数据合并108
4.2.1堆叠合并108
4.2.2主键合并110
4.2.3根据索引合并115
4.2.4合并重叠数据117
4.3数据重塑118
4.3.1重塑分层索引118
4.3.2轴向旋转121
4.4数据转换122
4.4.1面元划分122
4.4.2哑变量处理123
4.5案例:预处理二手房数据124
4.5.1案例需求125
4.5.2数据准备125
4.5.3案例实现127
小结131
习题131
第5章数据聚合与分组运算134
5.1分组与聚合的原理134
5.2分组操作135
5.2.1通过groupby()对数据进行分组135
5.2.2查看分组信息140
5.3数据聚合141
5.3.1通过统计方法聚合数据141
5.3.2通过agg()方法聚合数据142
5.4分组级运算145
5.4.1数据转换145
5.4.2数据应用147
5.5案例:篮球运动员信息分析149
5.5.1案例需求149
5.5.2数据准备150
5.5.3案例实现150
小结158
习题159
第6章数据可视化161
6.1数据可视化概述161
6.1.1什么是数据可视化161
6.1.2常见的图表类型162
6.1.3图表的辅助元素165
6.2使用Matplotlib绘图166
6.2.1绘制折线图166
6.2.2绘制柱形图170
6.2.3绘制直方图173
6.2.4绘制散点图176
6.3使用Seaborn绘图177
6.3.1可视化数据的分布178
6.3.2用分类数据绘图181
6.4使用Pyecharts绘图185
6.4.1Pyecharts简介185
6.4.2绘制柱形图188
6.4.3绘制词云图191
6.4.4绘制气泡图192
6.4.5绘制圆环图195
6.5案例:电影数据分析196
6.5.1案例需求196
6.5.2数据准备197
6.5.3案例实现198
小结203
习题203
第7章时间序列分析205
7.1时间序列概述205
7.2时间序列的基本操作206
7.2.1创建带时间戳的时间序列206
7.2.2获取时间序列子集207
7.3固定频率的时间序列209
7.3.1创建固定频率的时间序列209
7.3.2时间序列的频率与偏移量211
7.3.3时间序列的移动213
7.4时间周期与计算214
7.4.1创建带时期索引的对象214
7.4.2时期的频率转换215
7.5重采样216
7.5.1重采样方法216
7.5.2降采样218
7.5.3升采样219
7.6滑动窗口220
7.7案例:某城市报警记录分析223
7.7.1案例需求223
7.7.2数据准备223
7.7.3案例实现224
小结229
习题229
第8章文本数据分析.231
8.1文本数据分析工具231
8.1.1认识NLTK与jieba231
8.1.2安装jieba和NLTK语料库232
8.2文本预处理234
8.2.1基本流程234
8.2.2分词235
8.2.3词性标注236
8.2.4词形归一化238
8.2.5删除停用词240
8.3文本情感分析241
8.4文本相似度243
8.5文本分类246
8.6案例:商品评论分析249
8.6.1案例需求249
8.6.2数据准备250
8.6.3案例实现250
小结253
习题253
第9章机器学习入门256
9.1机器学习简介256
9.1.1什么是机器学习256
9.1.2机器学习的基本概念257
9.1.3机器学习算法的分类259
9.1.4机器学习解决问题的流程260
9.1.5认识机器学习库scikit-learn262
9.2KNN算法263
9.2.1KNN算法的思想264
9.2.2使用sklearn实现KNN算法264
9.2.3超参数266
9.2.4网格搜索与交叉验证269
9.2.5归一化271
9.2.6使用sklearn实现归一化273
9.3案例:预测签到位置275
9.3.1案例需求275
9.3.2数据准备276
9.3.3案例实现276
小结280
习题280
第10章实战演练——租房数据统计分析282
10.1数据收集282
10.2数据处理283
10.2.1重复值检测与处理283
10.2.2数据类型转换284
10.3数据分析与展示285
10.3.1房源数量分析285
10.3.2户型数量分析287
10.3.3房源平均租金分析289
10.3.4房源面积区间分析292















