Python统计可视化之Altair探索分析实践指南(全彩)
定 价:¥139
中 教 价:¥76.45 (5.50折)促销
库 存 数: 2
本书以Altair为核心工具,通过认识数据、理解数据和探索数据全方位地探索分析数据集的统计可视化形式,以应用数据和案例研究为实践场景,使用Altair数据加工箱进行数据预处理,在此基础上,深入理解不同应用领域和实践场景的数据集的统计可视化模型。本书以实践和练习的方式学习和巩固核心知识,学习形式简单高效,适合大数据相关行业的人士参考,也适合大数据相关专业的高校师生教学和自学使用。 本书在很多章节均有动手实践和练习,其中,"动手实践采用以练代讲的方式学习和延展核心知识或技能,"练习采用举一反三的方式复习和巩固核心知识或技能。
本书以Altair为核心工具,通过认识数据、理解数据和探索数据全方位地探索分析数据集的统计可视化形式。深入理解不同应用领域和实践场景的数据集的统计可视化模型以实践和练习的方式学习和巩固核心知识。
前言主要内容首先,本书在图形语法的基础上,使用Altair 探索分析不同应用领域和使用场景的数据集,以组成数据集的变量和数据记录为切入点,通过认识数据、理解数据和探索数据三个维度全方位地探索分析数据集的不同变量类型的统计可视化形式。然后,本书以应用数据和案例研究为实践场景,运用描述统计学、推断统计学和机器学习等数据科学知识,使用Altair 数据加工器实现数据预处理。在此基础上,本书又深入浅出地介绍了不同应用领域和实践场景的数据集的统计可视化模型。各章概要第1 章,介绍Altair 的安装方法和Jupyter 的安装方法,重点讲解Altair 数据集的JSON 数据结构和Pandas 的数据框对象,以及数据预处理的高效工具。第2 章,以图形语法为核心,重点介绍Altair 的组成模块、语言特点和语法规则。第3 章,从变量类型和组合方式出发,介绍使用Altair 认识数据和绘制基本统计图形的方法。第4 章,从图形构成出发,介绍使用Altair 理解数据的实现方法,以及使用Altair绘制分区图形、分层图形和连接图形的实现方法。第5 章,从交互出发,介绍使用Altair 探索数据和绘制交互图形的实现方法。第6 章,从获取优质数据集出发,以统计可视化的不同呈现形式为切入点,介绍使用Altair 探索分析不同数据集的潜在价值。第7 章,以数据集为核心,详细分析不同案例的可视化模型和探索分析的维度,深入介绍不同应用领域的数据集和变量类型,以及构建不同应用领域的可视化模型。第8 章,以探索分析为核心,将Altair 和其他探索分析工具有效结合,全面地探索分析不同实践场景下、不同数据集的统计可视化模型。第9 章,介绍使用Altair 设置颜色的方法,以及配置图形属性的作用范围的实现方法。配置要求? 推荐使用的硬件配置:四核处理器或更高配置、8 GB 或更大系统内存、至少10 GB 磁盘存储空间。? 推荐使用的操作系统:Windows 7 或更高版本、Windows 10 或更高版本、Ubuntu 16.04 或更高版本、macOS Sierra 或更高版本。? Python 版本:Python 3.8.0 或更高版本。? 特别提示:使用首字母大写的Altair 表示包的名称,使用首字母小写的altair表示包的安装名称或导入名称,其他包的书写规则与之类似。? 书中代码使用的包的版本信息如下所示。altair 4.1.0gapminder 0.1matplotlib 3.2.1numpy 1.18.3pandas 1.0.3scipy 1.4.1sviewgui 0.3.5tinytag 1.5.0vega-datasets 0.9.0wordcloud 1.8.1排版说明书中代码均可以在JupyterLab 或Jupyter Notebook 上运行,表示方法如下所示。chart = alt.Chart(df).transform_filter(alt.datum.Origin=="Europe").mark_circle(color="seagreen").encode(alt.X("Horsepower:Q",scale=alt.Scale(zero=False,padding=20)),alt.Y("Acceleration:Q",scale=alt.Scale(zero=False,padding=5)),size="Cylinders:Q")书中代码在Python 的交互式解释器中输入和输出的表示方法如下所示。>>> import altair as alt>>> import altair_viewer>>> from vega_datasets import data>>> df = data.cars()>>> chart = alt.Chart(df).mark_circle().encode(x="Horsepower:Q",y="Acceleration:Q")>>> altair_viewer.display(chart,inline=True)目标读者本书适合希望使用探索分析的方法,理解数据的不同维度和掌握数据统计可视化实现方法的商业数据分析师;使用Python 和Altair 深入理解数据预处理和统计可视化建模实现方法的数据挖掘工程师和机器学习工程师;构建实践场景的统计可视化模型的开发人员和研究人员。书中内容讲解细致全面、讲练结合、案例丰富,也非常适合大数据相关专业的学生自学或教师课堂教学使用。如何阅读本书无论是Altair 的初学者还是经验丰富的可视化应用的开发者,建议从第1 篇至第3 篇按顺序阅读,第4 篇既可以单独阅读,也可以和其他篇章组合阅读。附录A 是正文中练习章节的参考实现方法。本书在很多章节中均有动手实践和练习小节,其中,动手实践采用以练代讲的方式让读者学习和延展核心知识或技能;练习采用举一反三的方式让读者复习和巩固核心知识或技能。作者2021 年10 月
刘大成
高级机器学习工程师、资深数据分析师、数据产品工程师。具有金融、教育、测评、咨询等行业的丰富实践经验;完成多个机器学习项目、数据分析项目;开发多个数据产品。出版专著《Python数据可视化之matplotlib实践》和《Python数据可视化之matplotlib精进》。研究兴趣主要有数据可视化、数据挖掘和数据产品。
第1 篇 入门 第1 章 Altair 的环境配置 . 4 1.1 Altair 的安装 . 4 1.2 前端渲染工具的安装和启动方法 . 5 1.2.1 Jupyter Notebook 的安装和启动方法 5 1.2.2 JupyterLab 的安装和启动方法 5 1.3 vega_datasets 的使用 6 1.4 JSON 简介 . 9 1.4.1 JSON 语法规则. 9 1.4.2 在Altair 中使用JSON . 10 1.5 Pandas 的数据框(DataFrame)对象的使用方法 .12 1.5.1 使用字典创建DataFrame 的方法 12 1.5.2 DataFrame 的操作方法 13 1.5.3 缺失值的操作方法 . 15 1.5.4 条件查询的操作方法 . 22 1.6 数据加工器 . 27 第2 章 Altair 的图形语法 . 30 2.1 图形语法简介 . 30 2.1.1 图形语法的原理 . 31 2.1.2 图形的视觉对象的组合原则 . 33 2.1.3 Altair 图形系统的组成模块 . 40 2.2 声明式统计可视化的意义和优势 . 43 2.3 Altair 的语法规则 . 46 2.3.1 Altair 的数据结构 . 46 2.3.2 Altair 的基本对象 . 48 2.3.3 Altair 的展示方法 . 56 2.3.4 Altair 的存储方法 . 59 第2 篇 进阶 第3 章 认识数据 65 3.1 名义型变量和数量型变量组合的经典图形 66 3.1.1 柱形图 . 66 3.1.2 条形图 . 67 3.1.3 条形码图 . 67 3.2 时间型变量和数量型变量组合的经典图形 68 3.2.1 折线图 . 68 3.2.2 动手实践:调整折线图的刻度标签 . 70 3.2.3 次序型变量(时间变量离散化)和数量型变量组合:柱形图 72 3.2.4 动手实践:面积图 . 74 3.2.5 动手实践:阶梯图 . 76 3.2.6 练习:比较不同年份7 月的日降雨量 . 78 3.2.7 动手实践:分类汇总天气类型的频数分布 . 78 3.2.8 练习:总结分类汇总天气类型频数分布的实现方法 81 3.2.9 斜率图 . 81 3.2.10 数据集类型的数据结构形式 . 82 3.3 时间型变量和名义型变量的组合:甘特图 85 3.4 数量型变量和数量型变量组合的经典图形 87 3.4.1 散点图 . 87 3.4.2 动手实践:气泡图 . 89 3.4.3 动手实践:缺失值的可视化识别方法 . 90 3.4.4 直方图 . 91 3.4.5 热力图 . 94 3.4.6 变量类型对颜色标尺的作用 . 96 3.4.7 动手实践:展示不同时间的气温的分布情况 96 3.4.8 动手实践:展示文本注释与颜色的映射关系 . 99 第4 章 理解数据 105 4.1 使用子区通道分区理解数据 105 4.1.1 比较不同地区的汽车马力分布情况 . 106 4.1.2 动手实践:分区展示不同年份的每月平均降雨量 108 4.1.3 练习:绘制不同月份的年平均降雨量时间序列图 109 4.2 使用分层图形综合理解数据 110 4.2.1 使用描述统计量刻画变量取值的分布偏斜方向和程度 111 4.2.2 练习:绘制风速的均值、值和小值的趋势变化曲线 . 115 4.3 通过连接图形全面理解数据 115 4.3.1 散点图连接直方图了解更多的变量信息 116 4.3.2 练习:散点图连接水平直方图和垂直直方图,分别刻画降雨量和 风速的频数分布 118 4.4 使用变量矩阵分区理解数据 119 第5 章 探索数据 123 5.1 让鼠标光标停留在标记上出现变量取值提示 123 5.1.1 实现方法 . 123 5.1.2 练习:时间序列图的时间型变量和数量型变量的提示文本 125 5.2 点击鼠标和拖曳鼠标实现图形区域选择 127 5.2.1 实现方法 . 127 5.2.2 动手实践:动态选定时间区间的时间序列面积图 132 5.3 点击鼠标实现标记选择 . 137 5.3.1 实现方法 . 137 5.3.2 动手实践:滑动鼠标实现标记选择 . 139 5.4 点击鼠标实现图形区域选择 140 5.4.1 实现方法 . 140 5.4.2 动手实践:滑动鼠标实现图形区域的选择 . 142 5.4.3 练习:鼠标光标悬停在注释文本上交互显示标记 143 5.4.4 动手实践:缺失值的可视化识别方法2 144 5.5 元素交互实现图形区域选择 147 5.5.1 点选下拉列表实现图形区域的选择 . 148 5.5.2 练习:使用条件查询过滤数据记录,实现图形区域的选择 150 5.5.3 使用单选按钮实现图形区域的选择 . 151 5.5.4 动手实践:使用连接图形以图形联动方式实现图形区域的选择 . 152 5.5.5 练习:点选图例的标记符号实现图形区域的选择 155 5.5.6 拖动滑块实现图形区域的选择 . 155 第3 篇 实践 第6 章 应用数据 161 6.1 滑珠图 .161 6.1.1 比较不同国家人群的预期寿命的变化情况 . 161 6.1.2 动手实践:使用网格线表示滑竿的滑珠图 . 163 6.1.3 练习:描绘数量波动的总体趋势棒棒糖图 166 6.2 连线散点图 .168 6.2.1 探索不同年份的数量变化 . 168 6.2.2 动手实践:使用文本注释使连线散点图成为时间故事线 . 172 6.3 箱线图 . 173 6.3.1 探索不同天气类型的风速分布特征和分布形态 174 6.3.2 动手实践:垂直连接分区直方图补充箱线图的分布特征 176 6.3.3 水平连接分区直方图补充箱线图的分布特征 . 178 6.3.4 核密度估计加工器 . 179 6.3.5 动手实践:通过比较均值和众数的大小分析概率密度曲线的 偏斜方向和程度 . 181 6.3.6 数据离散加工器 . 181 6.3.7 数据汇总连接加工器 . 185 6.3.8 动手实践:计算小雨天气的出现天数 . 188 6.3.9 练习:按照月份统计不同降雨量类型出现的天数 190 6.4 探索数据的累积汇总和秩的排序及滞后变换窗口变换加工器 .191 6.4.1 窗口变换加工器的应用 . 191 6.4.2 动手实践:累积求和的柱形图 . 193 6.4.3 指数图 . 195 6.4.4 动手实践:秩的排序 . 198 6.4.5 凹凸图 . 201 6.4.6 动手实践:滞后等值和领先等值 . 206 6.4.7 瀑布图 . 209 6.4.8 练习:销售量的相对变化量 . 214 6.5 分散型堆积条形图系列 . 215 6.5.1 分散型堆积条形图 . 215 6.5.2 漏斗图 . 217 6.5.3 动手实践:离散化的颜色标尺 . 221 6.5.4 旋风图 . 224 6.5.4 动手实践:堆积条形图的分层图形子弹头图 227 6.5.5 练习:将堆积条形图变成分层条形图温度计图 230 6.6 堆积柱形图系列 231 6.6.1 堆积柱形图 . 231 6.6.2 堆积百分比柱形图 . 235 6.7 面积图系列 . 236 6.7.1 堆积百分比面积图 . 236 6.7.2 量化波形图 . 237 6.8 置信区间的应用 239 6.8.1 置信区间 . 239 6.8.2 误差棒图 . 241 6.8.3 动手实践:样本容量对样本标准差和样本均值的标准误的影响 . 245 第7 章 案例研究 248 7.1 不同数量级和单位变量关系的探索分析 248 7.1.1 使用平行坐标图分析数量型变量的相关关系 . 249 7.1.2 使用矩阵散点图分析连续型变量的相关关系 . 251 7.1.3 建立马力和重量的一元线性回归模型 . 252 7.1.4 练习:建立生产年份和重量的置信带与回归直线 265 7.1.5 动手实践:建立关于生产年份的重量分布脊线图 266 7.1.6 动手实践:建立马力和单位里程数的非线性回归模型 . 268 7.2 金融时间序列数据的探索分析 . 270 7.2.1 5 只股票的价格波动探索分析 271 7.2.2 5 只股票的频数分布探索分析 274 7.2.3 比较不同股票的价格走势图 . 275 7.2.4 股票收益率的迷你折线图 . 277 7.2.5 股票波动率的迷你柱形图 . 278 7.2.6 绘制股票收盘价的移动平均线 . 281 7.2.7 绘制股票的K 线图(蜡烛图) 283 7.2.8 动手实践:绘制移动平均线和K 线图的分层图形 . 285 7.2.9 练习:使用柱线图(棒形图)代替K 线图 . 289 7.3 自然语言处理的可视化模型的构建和应用 . 289 7.3.1 读取文本数据 . 290 7.3.2 存储单词和字母的频数分布 . 292 7.3.3 使用条形图分析字母的频数 . 293 7.3.4 使用条形图分析高频词 . 295 7.3.5 使用词云图分析段落词语的运用特点 . 296 7.4 反映统计数字的象形图 . 299 7.5 可视化模型框架的数据流转过程与模型存储和渲染方法 303 7.5.1 使用Pandas 的实例方法to_json()和Altair 的函数to_values() 完成数据流转 . 304 7.5.2 使用Altair 的函数to_json()和函数to_values()完成数据流转 305 7.5.3 可视化模型的存储和渲染方法 . 305 7.6 调整坐标轴的量尺类型的实现方法和应用场景 . 306 7.6.1 选择合适的坐标轴量尺类型 . 306 7.6.2 使用气泡图描绘3 个数量型变量的数量关系 . 307 7.6.3 动手实践:按照年份查看人均收入、寿命和人口数量的 动态变化关系 . 309 7.6.4 使用连续型量尺离散化的方法转换变量类型 . 312 7.7 使用波形图和频谱图分析音频文件 . 314 7.7.1 使用波形图分析音频文件的声音变化 . 314 7.7.2 使用频谱图分析音频文件的频率变化 . 315 7.7.3 练习:使用仪表盘分析音频文件的元数据 . 317 7.8 视觉图像的大块数据文件处理和统计可视化 318 第4 篇 拓展 第8 章 探索分析辅助工具 . 327 8.1 包sviewgui 的使用方法 . 327 8.1.1 sviewgui 加载数据和读取数据的方法 328 8.1.2 CSV 文件的GUI 具体功能和使用方法 . 329 8.1.3 数据框对象的GUI 具体功能和使用方法 331 8.2 数据框对象统计可视化的实现方法 . 334 8.2.1 折线图 . 334 8.2.2 核密度估计图 . 336 8.2.3 直方图 . 338 8.2.4 散点图 . 340 8.2.5 六边形网格图 . 341 8.2.6 箱线图 . 341 第9 章 颜色的使用方法和属性配置的作用域 . 343 9.1 颜色方案的设置方法 343 9.2 动手实践:使用颜色方案accent 设置标记属性通道color 的 配色模式 346 9.3 变量与颜色的映射关系的设置方法 . 347 9.4 原始颜色编码数据的设置方法 . 348 9.5 属性配置的作用域 . 349 附录A 本书练习详解 . 352 3.2