目 录
第1章 数据可视化和数据探索的重要性 1
1.1 简介 1
1.1.1 数据可视化简介 1
1.1.2 数据可视化的重要性 2
1.1.3 数据整理 2
1.1.4 可视化工具和库 3
1.2 统计学概述 4
1.2.1 集中趋势的度量 5
1.2.2 离散度测量 6
1.2.3 相关性 6
1.2.4 数据类型 7
1.2.5 摘要统计信息 7
1.3 NumPy 8
1.3.1 练习1:加载示例数据集并计算平均值 9
1.3.2 操作1:使用NumPy计算平均值、中位数、方差和标准偏差 12
1.3.3 基本的NumPy操作 13
1.3.4 操作2:索引、切片、分割和迭代 14
1.3.5 高级NumPy操作 15
1.3.6 操作3:过滤、排序、组合和重构 16
1.4 pandas 17
1.4.1 pandas的优点 17
1.4.2 pandas的缺点 18
1.4.3 练习2:加载示例数据集并计算平均值 18
1.4.4 操作4:使用pandas计算平均值、中位数和给定数字的方差 22
1.4.5 基本的pandas操作 22
1.4.6 Series 23
1.4.7 操作5:基于pandas的索引、切片和迭代 24
1.4.8 pandas高级操作 24
1.4.9 操作6:过滤、排序和重构 25
1.5 本章小结 26
第2章 绘图知识 29
2.1 简介 29
2.2 比较图 29
2.2.1 线形图 30
2.2.2 柱状图 31
2.2.3 雷达图 33
2.2.4 操作7:员工技能比较 35
2.3 关系图 36
2.3.1 散点图 37
2.3.2 气泡图 40
2.3.3 相关图 40
2.3.4 热图 42
2.3.5 操作8:20年内道路交通事故统计 44
2.4 合成图 44
2.4.1 饼图 44
2.4.2 堆叠式柱状图 46
2.4.3 堆叠式面积图 48
2.4.4 操作9:智能手机销售额 49
2.4.5 维恩图 50
2.5 分布图 50
2.5.1 直方图 51
2.5.2 密度图 51
2.5.3 箱形图 52
2.5.4 小提琴图 54
2.5.5 操作10:不同时间区间内列车的频率 56
2.6 地理图 56
2.6.1 点图 57
2.6.2 等值区域图 58
2.6.3 连接图 59
2.7 良好的设计规则 60
2.7.1 一般的设计实践 60
2.7.2 操作11:确定理想的可视化操作 60
2.8 本章小结 62
第3章 Matplotlib 63
3.1 简介 63
3.2 Matplotlib中的图表 63
3.3 pyplot基本知识 65
3.3.1 创建Figure 65
3.3.2 关闭Figure 66
3.3.3 格式化字符串 66
3.3.4 绘制机制 67
3.3.5 利用pandas DataFrame绘制 69
3.3.6 显示Figure 69
3.3.7 保存Figure 69
3.3.8 创建简单的可视化内容 70
3.4 基本的文本和图例功能 71
3.4.1 标记 72
3.4.2 标题 72
3.4.3 文本 72
3.4.4 标注 72
3.4.5 图例 73
3.4.6 操作12:利用线形图可视化股票的走势 73
3.5 基本图表 74
3.5.1 柱状图 74
3.5.2 操作13:比较影片评分的柱状图 76
3.5.3 饼图 77
3.5.4 创建耗水量饼图 78
3.5.5 堆叠式柱状图 80
3.5.6 操作14:餐厅业绩的可视化结果 80
3.5.7 堆叠式面积图 81
3.5.8 操作15:利用堆叠式面积图比较智能手机的销售状态 82
3.5.9 直方图 83
3.5.10 箱形图 85
3.5.11 操作16:智商的直方图和箱形图 86
3.5.12 散点图 87
3.5.13 操作17:利用散点图可视化动物间的相关性 88
3.5.14 气泡图 89
3.6 布局 90
3.6.1 子图 90
3.6.2 紧凑型子图 92
3.6.3 雷达图 94
3.6.4 与雷达图协同工作 94
3.6.5 GridSpec 96
3.6.6 操作18:基于边缘直方图创建散点图 97
3.7 图像 98
3.7.1 基本的图像操作 98
3.7.2 操作19:在网格中绘制多幅图像 103
3.8 编写数学表达式 103
3.9 本章小结 104
第4章 利用Seaborn简化可视化操作 105
4.1 简介 105
4.2 控制Figure观感 106
4.2.1 图形样式 108
4.2.2 移除轴向 110
4.2.3 上下文 111
4.2.4 操作20:利用箱形图比较不同测试分组中的IQ值 112
4.3 调色板 113
4.3.1 分类调色板 114
4.3.2 连续调色板 115
4.3.3 离散调色板 116
4.3.4 操作21:利用热图发现航班数据中的模式 117
4.4 Seaborn中的图表 118
4.4.1 柱状图 118
4.4.2 操作22:电影评分比较 119
4.4.3 核密度估算 119
4.4.4 相互关系的可视化 122
4.4.5 小提琴图 123
4.4.6 操作23:利用小提琴图比较不同测试组中的IQ值 124
4.5 Seaborn中的多图表 125
4.5.1 FacetGrid 125
4.5.2 操作24:前30个YouTube频道 126
4.6 回归图 127
4.7 Squarify库 129
4.8 本章小结 130
第5章 绘制地理空间数据 131
5.1 简介 131
5.1.1 Geoplotlib的设计原理 132
5.1.2 地理空间可视化 133
5.1.3 简单地理空间数据的可视化 134
5.1.4 操作27:绘制地图上的地理空间数据 138
5.1.5 采用GeoJSON数据的等值线图 140
5.2 图块提供商 144
5.3 自定义层 148
5.4 本章小结 149
第6章 基于Bokeh的交互式操作 151
6.1 简介 151
6.1.1 Bokeh的基本概念 152
6.1.2 Bokeh中的接口 152
6.1.3 输出 153
6.1.4 Bokeh服务器 153
6.1.5 演示 154
6.1.6 集成 155
6.1.7 利用Bokeh进行绘制 155
6.1.8 比较plotting和models接口 161
6.2 添加微件 169
6.2.1 基本的交互式微件 169
6.2.2 操作29:利用微件扩展图表 179
6.3 本章小结 180
第7章 知识整合 181
7.1 简介 181
7.1.1 操作30:实现Matplotlib和Seaborn操作 181
7.1.2 操作31:利用Bokeh可视化股票价格 184
7.1.3 geoplotlib 185
7.1.4 操作32:利用geoplotlib分析Airbnb数据 185
7.2 本章小结 186
附录 189
第1章 数据可视化和数据探索的重要性 189
操作1:使用NumPy计算平均值、中位数、方差和标准偏差 189
操作2:索引、切片、分割和迭代 192
操作3:过滤、排序、组合和重构 197
操作4:使用pandas计算平均值、中位数和给定数字的方差 200
操作5:基于pandas的索引、切片和迭代 204
操作6:过滤、排序和重构 209
第2章 绘图知识 215
操作7:员工技能比较 215
操作8:20年内道路交通事故统计 215
操作9:智能手机销售额 215
操作10:不同时间区间内列车的频率 215
操作11:确定理想的可视化操作 216
第3章 Matplotlib 218
操作12:利用线形图可视化股票的走势 218
操作13:比较影片评分的柱状图 219
操作14:餐厅业绩的可视化结果 220
操作15:利用堆叠式面积图比较智能手机的销售状态 222
操作16:智商的直方图和箱形图 223
操作17:利用散点图可视化动物间的相关性 225
操作18:基于边缘直方图创建散点图 226
操作19:在网格中绘制多幅图像 228
第4章 利用Seaborn简化可视化操作 229
操作20:利用箱形图比较不同测试分组中的IQ值 229
操作21:利用热图发现航班数据中的模式 231
操作22:电影评分比较 232
操作23:利用小提琴图比较不同测试组中的IQ值 233
操作24:前30个YouTube频道 235
操作25:线性回归 237
操作26:耗水量 238
第5章 绘制地理空间数据 239
操作27:绘制地图上的地理空间数据 239
操作28:与自定义层协同工作 246
第6章 基于Bokeh的交互式操作 249
操作29:利用微件扩展图表 249
第7章 知识整合 255
操作30:实现Matplotlib和Seaborn操作 255
操作31:利用Bokeh可视化股票价格 261
操作32:利用geoplotlib分析Airbnb数据 268
