轻松学Python报表自动化+Python数据分析 (2本套装)

作者
张俊红
丛书名
出版社
电子工业出版社
ISBN
SZ001227
简要
简介
目录
《对比Excel,轻松学习Python数据分析》
入门篇
第1 章 数据分析基础 . 2
1.1 数据分析是什么 2
1.2 为什么要做数据分析 2
1.2.1 现状分析 . 3
1.2.2 原因分析 . 3
1.2.3 预测分析 . 3
1.3 数据分析究竟在分析什么 4
1.3.1 总体概览指标 . 4
1.3.2 对比性指标 . 4
1.3.3 集中趋势指标 . 4
1.3.4 离散程度指标 . 5
1.3.5 相关性指标 . 5
1.3.6 相关关系与因果关系 . 6
1.4 数据分析的常规流程 6
1.4.1 熟悉工具 . 6
1.4.2 明确目的 . 7
1.4.3 获取数据 . 7
1.4.4 熟悉数据 . 7
1.4.5 处理数据 . 7
1.4.6 分析数据 . 8
1.4.7 得出结论 . 8
1.4.8 验证结论 . 8
1.4.9 展示结论 . 8
1.5 数据分析工具:Excel 与Python .. 8
实践篇
第2 章 熟悉锅Python 基础知识 . 12
2.1 Python 是什么 .. 12
2.2 Python 的下载与安装 .. 13
2.2.1 安装教程 ... 13
2.2.2 IDE 与IDLE . 17
2.3 介绍Jupyter Notebook 17
2.3.1 新建Jupyter Notebook 文件 17
2.3.2 运行你的段代码 ... 19
2.3.3 重命名Jupyter Notebook 文件 19
2.3.4 保存Jupyter Notebook 文件 19
2.3.5 导入本地Jupyter Notebook 文件 20
2.3.6 Jupyter Notebook 与Markdown ... 21
2.3.7 为Jupyter Notebook 添加 21
2.4 基本概念 .. 26
2.4.1 数 ... 26
2.4.2 变量 ... 26
2.4.3 标识符 ... 27
2.4.4 数据类型 ... 28
2.4.5 输出与输出格式设置 ... 28
2.4.6 缩进与注释 ... 29
2.5 字符串 .. 30
2.5.1 字符串的概念 ... 30
2.5.2 字符串的连接 ... 30
2.5.3 字符串的复制 ... 30
2.5.4 获取字符串的长度 ... 30
2.5.5 字符串查找 ... 31
2.5.6 字符串索引 ... 31
2.5.7 字符串分隔 ... 32
2.5.8 移除字符 ... 32
2.6 数据结构列表 .. 33
2.6.1 列表的概念 ... 33
2.6.2 新建一个列表 ... 33
2.6.3 列表的复制 ... 34
2.6.4 列表的合并 ... 34
2.6.5 向列表中插入新元素 ... 34
2.6.6 获取列表中值出现的次数 ... 35
2.6.7 获取列表中值出现的位置 ... 35
2.6.8 获取列表中指定位置的值 ... 36
2.6.9 删除列表中的值 ... 36
2.6.10 对列表中的值进行排序 . 37
2.7 数据结构字典 .. 37
2.7.1 字典的概念 ... 37
2.7.2 新建一个字典 ... 37
2.7.3 字典的keys()、values()和items()方法 ... 37
2.8 数据结构元组 .. 38
2.8.1 元组的概念 ... 38
2.8.2 新建一个元组 ... 38
2.8.3 获取元组的长度 ... 38
2.8.4 获取元组内的元素 ... 39
2.8.5 元组与列表相互转换 ... 39
2.8.6 zip()函数 ... 39
2.9 运算符 .. 40
2.9.1 算术运算符 ... 40
2.9.2 比较运算符 ... 40
2.9.3 逻辑运算符 ... 41
2.10 循环语句 41
2.10.1 for 循环 ... 41
2.10.2 while 循环 ... 42
2.11 条件语句 43
2.11.1 if 语句 . 43
2.11.2 else 语句 .. 44
2.11.3 elif 语句 .. 45
2.12 函数 46
2.12.1 普通函数 . 47
2.12.2 匿名函数 . 48
2.13 高级特性 49
2.13.1 列表生成式 . 49
2.13.2 map 函数 . 50
2.14 模块 50
第3 章 Pandas 数据结构 . 51
3.1 Series 数据结构 ... 51
3.1.1 Series 是什么 51
3.1.2 创建一个Series 52
3.1.3 利用index 方法获取Series 的索引 53
3.1.4 利用values 方法获取Series 的值 ... 53
3.2 DataFrame 表格型数据结构 ... 53
3.2.1 DataFrame 是什么 53
3.2.2 创建一个DataFrame 54
3.2.3 获取DataFrame 的行、列索引 ... 56
3.2.4 获取DataFrame 的值 ... 56
第4 章 准备食材获取数据源 .. 57
4.1 导入外部数据 .. 57
4.1.1 导入.xlsx 文件 .. 57
4.1.2 导入.csv 文件 ... 60
4.1.3 导入.txt 文件 63
4.1.4 导入sql 文件 65
4.2 新建数据 .. 67
4.3 熟悉数据 .. 67
4.3.1 利用head 预览前几行 . 67
4.3.2 利用shape 获取数据表的大小 68
4.3.3 利用info 获取数据类型 .. 69
4.3.4 利用describe 获取数值分布情况 71
第5 章 淘米洗菜数据预处理 .. 73
5.1 缺失值处理 .. 73
5.1.1 缺失值查看 ... 73
5.1.2 缺失值删除 ... 75
5.1.3 缺失值填充 ... 77
5.2 重复值处理 .. 78
5.3 异常值的检测与处理 .. 81
5.3.1 异常值检测 ... 81
5.3.2 异常值处理 ... 82
5.4 数据类型转换 .. 83
5.4.1 数据类型 ... 83
5.4.2 类型转换 ... 84
5.5 索引设置 .. 86
5.5.1 为无索引表添加索引 ... 86
5.5.2 重新设置索引 ... 87
5.5.3 重命名索引 ... 88
5.5.4 重置索引 ... 89
第6 章 菜品挑选数据选择 . 91
6.1 列选择 .. 91
6.1.1 选择某一列/某几列 .. 91
6.1.2 选择连续的某几列 ... 92
6.2 行选择 .. 93
6.2.1 选择某一行/某几行 .. 93
6.2.2 选择连续的某几行 ... 94
6.2.3 选择满足条件的行 ... 95
6.3 行列同时选择 .. 96
6.3.1 普通索引 普通索引选择指定的行和列 . 97
6.3.2 位置索引 位置索引选择指定的行和列 . 97
6.3.3 布尔索引 普通索引选择指定的行和列 . 98
6.3.4 切片索引 切片索引选择指定的行和列 . 98
6.3.5 切片索引 普通索引选择指定的行和列 . 99
第7 章 切配菜品数值操作 ... 100
7.1 数值替换 100
7.1.1 一对一替换 . 100
7.1.2 多对一替换 . 102
7.1.3 多对多替换 . 103
7.2 数值排序 104
7.2.1 按照一列数值进行排序 . 104
7.2.2 按照有缺失值的列进行排序 . 106
7.2.3 按照多列数值进行排序 . 106
7.3 数值排名 108
7.4 数值删除 . 110
7.4.1 删除列 .. 110
7.4.2 删除行 .. 111
7.4.3 删除特定行 .. 112
7.5 数值计数 . 113
7.6 值获取 . 114
7.7 数值查找 . 115
7.8 区间切分 . 116
7.9 插入新的行或列 . 119
7.10 行列互换 .. 120
7.11 索引重塑 .. 121
7.12 长宽表转换 .. 122
7.12.1 宽表转换为长表 ... 123
7.12.2 长表转换为宽表 ... 125
7.13 apply()与applymap()函数 ... 126
第8 章 开始烹调数据运算 ... 127
8.1 算术运算 127
8.2 比较运算 128
8.3 汇总运算 129
8.3.1 count 非空值计数 ... 129
8.3.2 sum 求和 . 130
8.3.3 mean 求均值 ... 130
8.3.4 max 求值 . 131
8.3.5 min 求小值 . 132
8.3.6 median 求中位数 132
8.3.7 mode 求众数 ... 133
8.3.8 var 求方差 ... 134
8.3.9 std 求标准差 ... 134
8.3.10 quantile 求分位数 . 135
8.4 相关性运算 136
第9 章 炒菜计时器时间序列 138
9.1 获取当前时刻的时间 138
9.1.1 返回当前时刻的日期和时间 . 138
9.1.2 分别返回当前时刻的年、月、日 . 138
9.1.3 返回当前时刻的周数 . 139
9.2 指定日期和时间的格式 140
9.3 字符串和时间格式相互转换 141
9.3.1 将时间格式转换为字符串格式 . 141
9.3.2 将字符串格式转换为时间格式 . 141
9.4 时间索引 142
9.5 时间运算 145
9.5.1 两个时间之差 . 145
9.5.2 时间偏移 . 145
第10 章 菜品分类数据分组/数据透视表 .. 148
10.1 数据分组 .. 148
10.1.1 分组键是列名 ... 150
10.1.2 分组键是Series 151
10.1.3 神奇的aggregate 方法 . 152
10.1.4 对分组后的结果重置索引 ... 153
10.2 数据透视表 .. 154
第11 章 水果拼盘多表拼接 . 158
11.1 表的横向拼接 .. 158
11.1.1 连接表的类型 ... 158
11.1.2 连接键的类型 ... 160
11.1.3 连接方式 ... 163
11.1.4 重复列名处理 ... 165
11.2 表的纵向拼接 .. 165
11.2.1 普通合并 ... 166
11.2.2 索引设置 ... 167
11.2.3 重叠数据合并 ... 167
第12 章 盛菜装盘结果导出 . 169
12.1 导出为.xlsx 文件 . 169
12.1.1 设置文件导出路径 ... 170
12.1.2 设置Sheet 名称 170
12.1.3 设置索引 ... 170
12.1.4 设置要导出的列 ... 171
12.1.5 设置编码格式 ... 171
12.1.6 缺失值处理 ... 172
12.1.7 无穷值处理 ... 172
12.2 导出为.csv 文件 ... 173
12.2.1 设置文件导出路径 ... 173
12.2.2 设置索引 ... 174
12.2.3 设置要导出的列 ... 174
12.2.4 设置分隔符号 ... 174
12.2.5 缺失值处理 ... 174
12.2.6 设置编码格式 ... 175
12.3 将文件导出到多个Sheet 175
第13 章 菜品摆放数据可视化 .. 176
13.1 数据可视化是什么 .. 176
13.2 数据可视化的基本流程 .. 176
13.2.1 整理数据 ... 176
13.2.2 明确目的 ... 177
13.2.3 寻找合适的表现形式 ... 177
13.3 图表的基本组成元素 .. 177
13.4 Excel 与Python 可视化 ... 179
13.5 建立画布和坐标系 .. 179
13.5.1 建立画布 ... 179
13.5.2 用add_subplot 函数建立坐标系 . 180
13.5.3 用plt.subplot2grid 函数建立坐标系 182
13.5.4 用plt.subplot 函数建立坐标系 183
13.5.5 用plt.subplots 函数建立坐标系 .. 184
13.5.6 几种创建坐标系方法的区别 ... 185
13.6 设置坐标轴 .. 185
13.6.1 设置坐标轴的标题 ... 185
13.6.2 设置坐标轴的刻度 ... 187
13.6.3 设置坐标轴的范围 ... 190
13.6.4 坐标轴的轴显示设置 ... 191
13.7 其他图表格式的设置 .. 191
13.7.1 网格线设置 ... 191
13.7.2 设置图例 ... 193
13.7.3 图表标题设置 ... 195
13.7.4 设置数据标签 ... 197
13.7.5 图表注释 ... 198
13.7.6 数据表 ... 199
13.8 绘制常用图表 .. 201
13.8.1 绘制折线图 ... 201
13.8.2 绘制柱形图 ... 204
13.8.3 绘制条形图 ... 208
13.8.4 绘制散点图 ... 209
13.8.5 绘制气泡图 211
13.8.6 绘制面积图 ... 212
13.8.7 绘制树地图 ... 213
13.8.8 绘制雷达图 ... 215
13.8.9 绘制箱形图 ... 217
13.8.10 绘制饼图 . 218
13.8.11 绘制圆环图 . 220
13.8.12 绘制热力图 . 221
13.8.13 绘制水平线和垂直线 . 223
13.9 绘制组合图表 .. 224
13.9.1 折线图 折线图 224
13.9.2 折线图 柱形图 225
13.10 绘制双坐标轴图表 226
13.10.1 绘制双y 轴图表 . 227
13.10.2 绘制双x 轴图表 . 228
13.11 绘图样式设置 228
进阶篇
第14 章 典型数据分析案例 234
14.1 利用Python 实现报表自动化 . 234
14.1.1 为什么要进行报表自动化 ... 234
14.1.2 什么样的报表适合自动化 ... 234
14.1.3 如何实现报表自动化 ... 235
14.2 自动发送电子邮件 .. 239
14.3 假如你是某连锁超市的数据分析师 .. 241
14.3.1 哪些类别的商品比较畅销 ... 242
14.3.2 哪些商品比较畅销 ... 242
14.3.3 不同门店的销售额占比 ... 243
14.3.4 哪些时间段是超市的客流高峰期 ... 244
14.4 假如你是某银行的数据分析师 .. 245
14.4.1 是不是收入越高的人坏账率越低 ... 246
14.4.2 年龄和坏账率有什么关系 ... 247
14.4.3 家庭人口数量和坏账率有什么关系 ... 248
第15 章 NumPy 数组 . 250
15.1 NumPy 简介 . 250
15.2 NumPy 数组的生成 . 250
15.2.1 生成一般数组 ... 251
15.2.2 生成特殊类型数组 ... 251
15.2.3 生成随机数组 ... 253
15.3 NumPy 数组的基本属性 . 255
15.4 NumPy 数组的数据选取 . 256
15.4.1 一维数据选取 ... 256
15.4.2 多维数据选取 ... 257
15.5 NumPy 数组的数据预处理 . 259
15.5.1 NumPy 数组的类型转换 .. 259
15.5.2 NumPy 数组的缺失值处理 .. 260
15.5.3 NumPy 数组的重复值处理 .. 260
15.6 NumPy 数组重塑 . 261
15.6.1 一维数组重塑 ... 261
15.6.2 多维数组重塑 ... 261
15.6.3 数组转置 ... 262
15.7 NumPy 数组合并 . 262
15.7.1 横向合并 ... 262
15.7.2 纵向合并 ... 263
15.8 常用数据分析函数 .. 264
15.8.1 元素级函数 ... 264
15.8.2 描述统计函数 ... 264
15.8.3 条件函数 ... 266
15.8.4 集合关系 ... 266

《对比Excel,轻松学习Python报表自动化》
第1 部分 Python 基础
第1 章 认识自动化报表 / 2
1.1 Excel 的基本组成 2
1.2 制作一份自动化报表的流程3
1.3 用Python 操作Excel 的各种库 . 4
第2 章 Python 基础知识 / 5
2.1 Python 是什么5
2.2 Python 的下载与安装. 5
2.2.1 安装教程. 5
2.2.2 IDE 与IDLE . 18
2.3 Jupyter Notebook 介绍 19
2.3.1 新建Jupyter Notebook 文件 19
2.3.2 运行你的段代码 20
2.3.3 重命名Jupyter Notebook 文件20
2.3.4 保存Jupyter Notebook 文件 21
2.3.5 导入本地Jupyter Notebook 文件 22
2.3.6 Jupyter Notebook 与Markdown. 23
2.4 基本概念23
2.4.1 数. 23
2.4.2 变量 24
2.4.3 标识符. 25
2.4.4 数据类型25
2.4.5 输出与输出格式设置. 25
2.4.6 缩进与注释 26
2.5 字符串 27
2.5.1 字符串概念27
2.5.2 字符串连接. 27
2.5.3 字符串复制. 28
2.5.4 字符串长度 28
2.5.5 字符串查找28
2.5.6 字符串索引29
2.5.7 字符串分隔30
2.5.8 字符删除 31
2.6 数据结构列表 31
2.6.1 列表概念31
2.6.2 新建一个列表31
2.6.3 列表复制 32
2.6.4 列表合并. 32
2.6.5 向列表中插入新的元素 33
2.6.6 获取列表中值出现的次数 33
2.6.7 获取列表中值出现的位置 34
2.6.8 获取列表中指定位置的值 34
2.6.9 对列表中的值进行删除35
2.6.10 对列表中的值进行排序35
2.7 数据结构字典35
2.7.1 字典概念 35
2.7.2 新建一个字典 36
2.7.3 字典的keys()、values()和items()方法36
2.8 数据结构元组37
2.8.1 元组概念 37
2.8.2 新建一个元组 37
2.8.3 获取元组的长度. 37
2.8.4 获取元组内的元素 37
2.8.5 元组与列表相互转换. 38
2.8.6 zip()函数38
2.9 运算符39
2.9.1 算术运算符. 39
2.9.2 比较运算符 39
2.9.3 逻辑运算符. 40
2.10 循环语句 40
2.10.1 for 循环 . 40
2.10.2 while 循环 40
2.11 条件语句 41
2.11.1 if 条件语句 41
2.11.2 else 语句 43
2.11.3 elif 语句 44
2.12 函数. 45
2.12.1 普通函数 45
2.12.2 匿名函数. 46
2.13 高级特性 47
2.13.1 列表生成式. 47
2.13.2 map()函数 48
2.14 库. 48
2.14.1 安装一个新库 49
2.14.2 卸载一个库. 50
第2 部分 格式设置
第3 章 用Python 对报表进行基本操作 / 52
3.1 打开已有的工作簿 52
3.2 创建新的工作簿 54
3.2.1 在创建工作簿时插入数据 54
3.2.2 对单个单元格赋值. 55
3.2.3 对一行单元格赋值 . 55
3.2.4 对多行进行赋值. 56
3.3 Pandas 与openpyxl 之间的转换 57
3.4 Sheet 相关设置 58
3.4.1 新建一个Sheet58
3.4.2 对已有Sheet 进行设置 61
第4 章 用Python 实现单元格选择和字体设置 / 63
4.1 用Python 选择单元格 63
4.1.1 选择单个单元格. 63
4.1.2 选择多个单元格. 63
4.2 用Python 设置Excel 字体 . 64
4.2.1 基本字体相关设置. 64
4.2.2 单元格填充 68
4.2.3 边框线设置 70
4.2.4 案例:批量设置单元格字体 74
第5 章 用Python 设置Excel 对齐方式 / 76
5.1 设置对齐方式 76
5.2 合并与解除单元格81
5.3 设置合并单元格样式 83
5.4 案例:批量设置单元格对齐方式 83
第6 章 用Python 设置Excel 数字、条件格式 / 86
6.1 用Python 设置Excel 数字格式 . 86
6.2 用Python 设置Excel 条件格式 89
6.2.1 突出显示单元格 . 90
6.2.2 数据条92
6.2.3 色阶 96
6.2.4 图标集 99
第7 章 用Python 设置Excel 单元格 / 105
7.1 插入行或列 105
7.2 删除行或列 107
7.3 行高/列宽的设置 109
7.4 隐藏行或列 110
7.5 案例:批量设置多行/列的行高/列宽 111
第8 章 用Python 对Excel 进行编辑 / 113
8.1 数据排序 113
8.2 数据筛选 114
8.3 数据查找与替换 116
第3 部分 函数
第9 章 用Python 实现Excel 中的函数计算 / 118
9.1 函数中的常见错误 . 118
9.1.1 #DIV/0!错误 . 118
9.1.2 #N/A 错误 . 120
9.1.3 #VALUE!错误 . 124
9.1.4 #NAME错误 125
9.1.5 #REF!错误125
9.2 逻辑函数 . 126
9.2.1 IF()函数:判断条件是否满足 . 126
9.2.2 AND()函数:判断多个条件是否同时满足129
9.2.3 OR()函数:判断多个条件中是否有其中一个满足 130
9.2.4 IFERROR()函数:对错误值进行处理 132
9.3 文本函数. 132
9.3.1 文本截取. 132
9.3.2 文本合并 138
9.3.3 文本查找与替换 142
9.4 日期与时间函数 . 150
9.4.1 获取当前的日期、时间 150
9.4.2 获取日期和时间中的某部分 152
9.4.3 日期时间的运算两个日期之间的差值. 165
9.5 查找与引用. 168
9.5.1 VLOOKUP()函数:在多列以及多表中查找数据 168
9.5.2 ROWS()函数:获取区域中的行数 . 170
9.5.3 COLUMNS()函数:获取区域中的列数 . 171
9.6 数学和三角函数 . 172
9.6.1 常规计算函数 172
9.6.2 格式调整函数 . 176
9.6.3 指数与对数函数 . 183
9.7 统计函数 . 187
9.7.1 均值相关 . 187
9.7.2 计数相关. 190
9.7.3 值函数 . 193
9.7.4 排位相关函数. 196
9.7.5 统计相关函数. 204
9.8 自定义公式 . 206
第4 部分 自动化报表
第10 章 审阅和视图设置 / 210
10.1 新建批注 . 210
10.2 文档保护 212
10.3 冻结窗格 213
第11 章 用Python 绘制Excel 图表 / 216
11.1 图表基本组成元素216
11.2 图表绘制基本流程218
11.3 图表基本设置 220
11.3.1 图表标题 220
11.3.2 坐标轴标题220
11.3.3 图例设置 . 221
11.4 图表绘制. 221
11.4.1 折线图 221
11.4.2 柱状图. 221
11.4.3 面积图223
11.4.4 散点图 . 224
11.4.5 气泡图 226
11.4.6 图表布局. 228
11.5 如何将图片插入Excel 中 229
第12 章 用Python 对Excel 文件进行批量操作 / 231
12.1 OS 库介绍. 231
12.2 OS 库基本操作. 231
12.2.1 获取当前工作路径 . 231
12.2.2 获取一个文件夹下的所有文件名 231
12.2.3 对文件进行重命名232
12.2.4 创建一个文件夹. 232
12.2.5 删除一个文件夹 . 233
12.2.6 删除一个文件 233
12.3 批量操作 . 233
12.3.1 批量读取一个文件夹下的多个文件 233
12.3.2 批量创建文件夹 234
12.3.3 批量重命名文件 235
12.4 其他批量操作 236
12.4.1 批量合并多个文件236
12.4.2 将一份文件按照指定列拆分成多个文件237
第13 章 自动发送邮件 / 239
13.1 使用邮箱的步 . 239
13.2 一份邮件的组成 . 239
13.3 如何发送邮件. 240
13.4 正式发送一份邮件241
13.5 批量发送邮件. 243
第14 章 将Python 代码转化为可执行的程序 / 245
14.1 安装所需要的Python 库245
14.2 对代码进行打包 246
第15 章 工作中的报表自动化实战 / 249
15.1 当日各项指标的同/环比情况 249
15.2 当日各省份创建订单量情况 253
15.3 近一段时间创建订单量趋势. 255
15.4 将不同的结果进行合并256
15.4.1 将不同的结果合并到同一个Sheet 中 256
15.4.2 将不同的结果合并到同一工作簿的不同Sheet 中261



推荐

车牌查询
桂ICP备20004708号-3