本书详细讲解了Python数据分析的相关内容,共分为10章,第1~9章分别讲解了数据分析概述、Python与数据分析、Python语言基础、NumPy数组与矢量计算、用NumPy进行简单统计分析、数据可视化——Matplotlib库、pandas数据分析基础、用pandas进行数据预处理、机器学习库scikit-learn入门;第10章用一个综合案例——电影数据分析项目,带领读者灵活掌握本书所学内容。
本书适合作为高等院校本、专科计算机相关专业的教材,也可供爱好者自学使用。
1.大数据相关专业的必修课程教材;
2.以基础入门为主线,满足职业院校学生对数据分析课程的需要;
3.突出动手实践,各个章节设计了实训环节,全书最后设计了综合实训项目——电影数据分析,带领读者全面掌握全书内容。
郑丹青,女,高级工程师, 教授。在企业从事计算机软件开发二十多年,获株洲市科委奖励。从事职业教育15年,是湖南省计算机应用技术省级专业带头人,获得2016年湖南省“移动互联应用技术“省级培训优秀学员。
第 1章
数据分析概述 1
1.1 数据的性质 1
1.1.1 数据的概念 1
1.1.2 数据的类型 1
1.2 数据分析 2
1.2.1 数据分析的概念 2
1.2.2 数据分析的过程 2
1.2.3 数据分析的作用 5
1.2.4 数据分析的常用工具 5
本章小结 5
思考练习 6
第 2章
Python与数据分析 7
2.1 Python简介 7
2.1.1 Python语言的特点 7
2.1.2 Python解释器 8
2.2 Python与数据分析的关系 8
2.3 Python数据分析常用的类库 8
2.4 Python开发环境的搭建 10
2.5 Python集成开发环境的搭建 13
2.5.1 PyCharm的安装与使用 13
2.5.2 Jupyter Notebook的安装与
使用 19
项目实践 25
本章小结 25
思考练习 25
第3章
Python语言基础 26
3.1 Python基础语法 26
3.1.1 Python的语法规则 26
3.1.2 常量、变量与标准数据类型 29
3.1.3 第 一个Python程序 30
3.2 Python的数据类型 31
3.2.1 数字 31
3.2.2 字符串 33
3.2.3 Python的数据结构组成 36
3.2.4 列表 36
3.2.5 元组 40
3.2.6 字典 43
3.2.7 集合 48
3.3 Python流程控制语句 50
3.3.1 if条件语句 51
3.3.2 while循环控制语句 52
3.3.3 for循环控制语句 53
3.3.4 range()函数的作用 53
3.3.5 break、continue、pass语句 54
3.4 Python的函数 55
3.4.1 自定义函数 55
3.4.2 设置函数参数 55
3.4.3 返回函数值 57
3.4.4 调用自定义函数 57
3.4.5 局部变量和全局变量 58
3.4.6 函数嵌套 59
3.4.7 匿名函数 60
项目实践 60
本章小结 62
思考练习 62
第4章
NumPy数组与矢量计算 64
4.1 NumPy概述 64
4.1.1 NumPy简介 64
4.1.2 NumPy的安装与测试 65
4.1.3 SciPy简介及其安装与测试 65
4.1.4 NumPy的简单应用:一维
数组相加 66
4.2 NumPy数组对象 67
4.2.1 创建数组对象 68
4.2.2 选取数组元素 68
4.2.3 数组的属性 68
4.2.4 创建数组的其他方法 69
4.2.5 NumPy的数据类型 70
4.3 NumPy数组操作 72
4.3.1 数组的索引和切片 72
4.3.2 修改数组形状 74
4.3.3 数组的展平 75
4.3.4 数组转置和轴对换 76
4.3.5 数组的连接 77
4.3.6 数组的分割 78
4.3.7 数组转换 79
4.3.8 添加/删除数组元素 79
4.4 NumPy数组的矢量计算 81
4.4.1 数组的运算 81
4.4.2 通用函数(ufunc) 83
4.5 NumPy矩阵创建、计算及
操作 84
4.6 随机数的生成 87
项目实践 89
本章小结 90
思考练习 90
第5章
用NumPy进行简单统计
分析 91
5.1 文件读写操作 91
5.1.1 使用NumPy读写文本文件 91
5.1.2 使用NumPy读写二进制格式
文件 93
5.1.3 使用NumPy读写多维数据
文件 94
5.2 NumPy常用的统计函数 94
5.3 使用NumPy函数进行统计
分析 98
5.3.1 NumPy的排序函数 98
5.3.2 NumPy的去重与重复函数 100
5.3.3 NumPy的搜索和计数函数 102
5.4 简单的统计分析 103
项目实践 106
本章小结 107
思考练习 107
第6章
数据可视化——
Matplotlib库 109
6.1 Matplotlib概述 109
6.1.1 Matplotlib简介 109
6.1.2 Matplotlib的测试、安装与
导入 110
6.1.3 IPython及pylab模式 111
6.2 使用pyplot创建图形 111
6.2.1 创建简单图形 111
6.2.2 创建子图 114
6.3 Matplotlib参数配置 115
6.3.1 matplotlibrc配置文件 115
6.3.2 设置动态rc参数 116
6.4 分析变量间关系图 117
6.4.1 绘制散点图 117
6.4.2 绘制折线图 119
6.5 分析变量数据分布和分散
状况 120
6.5.1 绘制直方图 120
6.5.2 绘制柱状图 122
6.5.3 绘制饼图 123
6.5.4 绘制箱线图 125
项目实践 126
本章小结 127
思考练习 127
第7章
pandas数据分析基础 128
7.1 pandas概述 128
7.1.1 pandas简介 128
7.1.2 pandas测试、安装与
导入 129
7.2 pandas的数据结构及常用
操作 130
7.2.1 Series对象及常用操作 130
7.2.2 DataFrame对象及常用
操作 134
7.3 pandas的索引 141
7.3.1 Index索引对象 141
7.3.2 Index对象的属性和方法 141
7.3.3 重新索引 143
7.3.4 层级索引 144
7.4 pandas数据结构之间的
运算 148
7.4.1 算术和数据对齐 148
7.4.2 算术运算方法 149
7.4.3 DataFrame与Series对象
之间的运算 150
7.5 pandas的函数应用 151
7.5.1 数据筛选 151
7.5.2 apply()函数 151
7.5.3 数据统计函数 153
7.5.4 DataFrame格式化函数 153
7.5.5 排序和排名 154
7.6 数据读取与写入 156
7.6.1 读/写文本文件 156
7.6.2 读/写Excel文件 158
7.6.3 读/写数据库文件 159
7.6.4 读/写JSON文件 162
7.7 数据分析方法 163
7.7.1 基本统计分析 163
7.7.2 分组分析 164
7.7.3 分布分析 165
7.7.4 交叉分析 166
7.7.5 结构分析 168
7.7.6 相关分析 169
项目实践 171
本章小结 171
思考练习 172
第8章
用pandas进行数据
预处理 173
8.1 数据清洗 173
8.1.1 重复值的处理 173
8.1.2 缺失值的处理 174
8.1.3 异常值的处理 177
8.2 数据合并 178
8.2.1 按键连接数据 179
8.2.2 沿轴连接数据 181
8.2.3 合并重叠数据 184
8.3 数据抽取 185
8.3.1 字段抽取与拆分 185
8.3.2 记录抽取 186
8.4 重塑层次化索引 187
8.5 映射与数据转换 188
8.5.1 用映射替换元素 189
8.5.2 用映射添加元素 190
8.5.3 重命名轴索引 190
8.6 排列与随机抽样 191
8.7 日期转换、日期格式化和日期
抽取 192
8.8 字符串处理 194
8.8.1 内置的字符串处理方法 194
8.8.2 正则表达式 196
8.8.3 矢量化的字符串函数 201
项目实践 203
本章小结 204
思考练习 204
第9章
机器学习库scikit-learn
入门 206
9.1 机器学习概述 206
9.2 scikit-learn概述 208
9.2.1 scikit-learn介绍 208
9.2.2 scikit-learn测试、安装和
导入 209
9.3 第 一个机器学习程序 209
9.4 使用scikit-learn进行机器
学习 210
9.4.1 Seaborn绘图 210
9.4.2 准备数据集 215
9.4.3 选择模型 220
9.4.4 调整参数训练和测试模型 223
项目实践 226
本章小结 228
思考练习 228
第 10章
电影数据分析项目 230
10.1 项目描述 230
10.2 准备数据 231
10.3 数据清洗 231
10.4 数据分析与数据可视化 232
本章小结 238
思考练习 238
参考文献 239