第1章 Python开发环境搭建与编码规范 8
本章学习目标 8
1.1 Python开发环境搭建与使用 8
1.1.1 IDLE 8
1.1.2 Anaconda3 10
1.1.3 安装扩展库 12
1.2 Python编码规范 13
1.3 标准库、扩展库对象的导入与使用 15
1.3.1 import 模块名[ as 别名] 15
1.3.2 from 模块名 import 对象名[ as 别名] 15
1.3.3 from 模块名 import * 16
本章知识要点 16
本章习题 17
第2章 数据类型、运算符与内置函数 18
本章学习目标 18
2.1 常用内置数据类型 18
2.1.1 整数、实数、复数 19
2.1.2 列表、元组、字典、集合 20
2.1.3 字符串 21
2.2 运算符与表达式 22
2.2.1 算术运算符 22
2.2.2 关系运算符 24
2.2.3 成员测试运算符 25
2.2.4 集合运算符 25
2.2.5 逻辑运算符 26
2.3 常用内置函数 26
2.3.1 类型转换 28
2.3.2 最大值、最小值 29
2.3.3 元素数量、求和 30
2.3.4 排序、逆序 31
2.3.5 基本输入输出 32
2.3.6 range() 32
2.3.7 zip() 33
2.3.8 map()、reduce()、filter() 33
2.4 综合应用与例题解析 35
本章知识要点 36
本章习题 37
第3章 列表、元组、字典、集合与字符串 38
本章学习目标 38
3.1 列表与列表推导式 38
3.1.1 创建列表 38
3.1.2 使用下标访问列表中的元素 39
3.1.3 列表常用方法 39
3.1.4 列表推导式 41
3.1.5 切片操作 42
3.2 元组与生成器表达式 43
3.2.1 元组与列表的区别 43
3.2.2 生成器表达式 43
3.2.3 序列解包 44
3.3 字典 44
3.3.1 字典元素访问 45
3.3.2 字典元素修改、添加与删除 46
3.4 集合 46
3.4.1 集合概述 46
3.4.2 集合常用方法 47
3.5 字符串常用方法 47
3.5.1 encode() 47
3.5.2 format() 48
3.5.3 index()、rindex()、count() 49
3.5.4 replace()、maketrans()、translate() 49
3.5.5 ljust()、rjust()、center() 50
3.5.6 split()、rsplit()、join() 50
3.5.7 lower()、upper()、capitalize()、title()、swapcase() 50
3.5.8 startswith()、endswith() 51
3.5.9 strip()、rstrip()、lstrip() 51
3.6 综合应用与例题解析 51
本章知识要点 53
本章习题 54
第4章 选择结构、循环结构、函数定义与使用 55
本章学习目标 55
4.1 选择结构 55
4.1.1 条件表达式 55
4.1.2 单分支选择结构 55
4.1.3 双分支选择结构 56
4.1.4 嵌套的分支结构 56
4.2 循环结构 57
4.2.1 for循环 57
4.2.2 while循环 57
4.2.3 break与continue语句 57
4.3 函数定义与使用 58
4.3.1 函数定义基本语法 58
4.3.2 lambda表达式 58
4.3.3 递归函数 59
4.3.4 生成器函数 59
4.3.5 位置参数、默认值参数、关键参数、可变长度参数 60
4.3.6 变量作用域 61
4.4 综合应用与例题解析 61
本章知识要点 63
本章习题 64
第5章 文件操作 65
本章学习目标 65
5.1 文件操作基础 65
5.1.1 内置函数open() 65
5.1.2 文件对象常用方法 66
5.1.3 上下文管理语句with 66
5.2 JSON文件操作 67
5.3 CSV文件操作 67
5.4 Word、Excel、PowerPoint文件操作实战 68
本章知识要点 70
本章习题 71
第6章 numpy数组与矩阵运算 73
本章学习目标 73
6.1 numpy数组及其运算 73
6.1.1 创建数组 73
6.1.2 测试两个数组的对应元素是否足够接近 75
6.1.3 修改数组中的元素值 76
6.1.4 数组与标量的运算 76
6.1.5 数组与数组的运算 77
6.1.6 数组排序 78
6.1.7 数组的内积运算 78
6.1.8 访问数组中的元素 79
6.1.9 数组对函数运算的支持 80
6.1.10 改变数组形状 80
6.1.11 数组布尔运算 81
6.1.12 分段函数 82
6.1.13 数组堆叠与合并 83
6.2 矩阵生成与常用操作 84
6.2.1 生成矩阵 84
6.2.2 矩阵转置 84
6.2.3 查看矩阵特征 85
6.2.4 矩阵乘法 86
6.2.5 计算相关系数矩阵 86
6.2.6 计算方差、协方差、标准差 87
6.3 计算特征值与特征向量 87
6.4 计算逆矩阵 88
6.5 求解线性方程组 89
6.6 计算向量和矩阵的范数 90
6.7 奇异值分解 91
6.8 函数向量化 92
本章知识要点 93
本章习题 93
第7章 pandas数据分析实战 96
本章学习目标 96
7.1 pandas常用数据类型 96
7.1.1 一维数组与常用操作 97
7.1.2 时间序列与常用操作 100
7.1.3 二维数组DataFrame 103
7.2 DataFrame数据处理与分析实战 105
7.2.1 读取Excel文件中的数据 106
7.2.2 筛选符合特定条件的数据 107
7.2.3 查看数据特征和统计信息 110
7.2.4 按不同标准对数据排序 112
7.2.5 使用分组与聚合对员工业绩进行汇总 114
7.2.6 处理超市交易数据中的异常值 118
7.2.7 处理超市交易数据中的缺失值 119
7.2.8 处理超市交易数据中的重复值 121
7.2.9 使用数据差分查看员工业绩波动情况 122
7.2.10 使用透视表与交叉表查看业绩汇总数据 123
7.2.11 使用重采样技术按时间段查看员工业绩 127
7.2.12 多索引相关技术与操作 128
7.2.13 使用标准差与协方差分析员工业绩 130
7.2.14 使用pandas的属性接口实现高级功能 133
7.2.15 绘制各员工在不同柜台业绩平均值的柱状图 136
7.2.16 查看DataFrame的内存占用情况 137
7.2.17 数据拆分与合并 138
本章知识要点 142
本章习题 143
第8章 sklearn机器学习实战 145
本章学习目标 145
8.1 机器学习基本概念 145
8.2 机器学习库sklearn简介 151
8.2.1 扩展库sklearn常用模块与对象 151
8.2.2 选择合适的模型和算法 155
8.3 线性回归算法原理与应用 155
8.3.1 线性回归模型原理 155
8.3.2 sklearn中线性回归模型的简单应用 156
8.3.3 岭回归原理与sklearn实现 157
8.3.4 套索回归Lasso基本原理与sklearn实现 158
8.3.5 弹性网络基本原理与sklearn实现 159
8.3.6 使用线性回归模型预测儿童身高 160
8.4 逻辑回归算法原理与应用 161
8.4.1 逻辑回归算法原理与sklearn实现 161
8.4.2 使用逻辑回归算法预测考试能否及格 164
8.5 朴素贝叶斯算法原理与应用 164
8.5.1 基本概念 164
8.5.2 朴素贝叶斯算法分类原理与sklearn实现 167
8.5.3 使用朴素贝叶斯算法对中文邮件进行分类 168
8.6 决策树与随机森林算法应用 170
8.6.1 基本概念 170
8.6.2 决策树算法原理与sklearn实现 171
8.6.3 随机森林算法原理与sklearn实现 174
8.6.4 使用决策树算法判断学员的Python水平 176
8.7 支持向量机算法原理与应用 178
8.7.1 支持向量机算法基本原理与sklearn实现 178
8.7.2 使用支持向量机对手写数字图像进行分类
182
8.8 KNN算法原理与应用 184
8.8.1 KNN算法基本原理与sklearn实现 184
8.8.2 使用KNN算法判断交通工具类型 187
8.9 KMeans聚类算法原理与应用 188
8.9.1 KMeans聚类算法基本原理与sklearn实现 188
8.9.2 使用KMeans算法压缩图像颜色 191
8.10 分层聚类算法原理与应用 193
8.11 DBSCAN算法原理与应用 196
8.12 使用协同过滤算法进行电影推荐 199
8.13 关联规则分析原理与应用 201
8.13.1 关联规则分析原理与基本概念 201
8.13.2 使用关联规则分析演员关系 202
8.14 数据降维 205
8.15 交叉验证与网格搜索 207
8.15.1 使用交叉验证评估模型泛化能力 208
8.15.2 使用网格搜索确定模型最佳参数 210
本章知识要点 212
本章习题 214
第9章 matplotlib数据可视化实战 215
本章学习目标 215
9.1 数据可视化库matplotlib基础 215
9.2 绘制折线图实战 216
9.3 绘制散点图实战 220
9.4 绘制柱状图实战 223
9.5 绘制饼状图实战 227
9.6 绘制雷达图实战 230
9.7 绘制三维图形实战 233
9.8 绘图区域切分实战 240
9.9 设置图例样式实战 242
9.10 事件响应与处理实战 246
9.11 填充图形 260
9.12 保存绘图结果 262
本章知识要点 263
本章习题 264
习题答案 265
附表1 运算符、内置函数对常用内置对象的支持情况 276
附录2 Python关键字清单 277
附表3 常用标准库对象速查表 278
附录4 常用Python扩展库清单 281
参考资料 282