正版保障 假一赔十 可开发票
¥ 31.74 4.6折 ¥ 69 全新
库存4件
作者[德]阿布哈·贝洛卡,[印]沙拉特·钱德拉·冈图库,[印]舒邦吉·霍拉,[印]安舒·库马
出版社中国电力出版社
ISBN9787519849887
出版时间2020-12
装帧平装
开本16开
定价69元
货号29171668
上书时间2024-12-20
前言
说明
这一节会简要介绍作者、本书内容、开始学习这本书所需的技能,以及完成本书所有实践活动和练习的硬件和软件需求。
关于本书
大量数据不断生成,迫切需要开发人员能够将数据有效又有趣的可视化呈现。本书将增进你的数据探索能力,可以为使用Python创建交互式数据可视化的学习提供一个非常好的起点。
首先你会学习如何使用非交互式数据可视化库Matplotlib和Seaborn绘制各种图。你将研究不同类型的可视化,对它们进行比较,并了解如何选择一种特定类型的可视化来满足你的需求。对各种非交互式数据可视化库有所了解之后,你将学习创建直观且有说服力的数据可视化的有关原则,并使用Altair、Bokeh和Plotly将你绘制的图转化为吸引人的故事。
学习完这本书,你将会拥有一组新的技能,帮助你成为能够将数据可视化转换为生动有趣故事的热门人才。
关于作者
AbhaBelorkar是计算机科学领域的一位教育工作者和研究人员。她在印度彼拉尼的博拉理工学院获得计算机科学学士学位,并在新加坡国立大学获得博士学位。目前她的研究工作包括开发基于统计学、机器学习和数据可视化技术的方法,从神经退行性疾病的异构基因组数据中获得见解。
SharathChandraGuntuku是自然语言处理和多媒体计算领域的一位研究人员。他在印度彼拉尼的博拉理工学院获得计算机科学学士学位,在新加坡南洋理工大学获得博士学位。他的研究目标是利用大规模的社交媒体图片和文本数据来模拟社会健康水平和心理特征。他使用机器学习、统计分析、自然语言处理和计算机视觉来回答有关个人和社区健康和心理的问题。
ShubhangiHora是一位Python开发人员、人工智能爱好者、数据科学家和作家。她拥有计算机科学和心理学背景,尤其热衷于心理健康相关的人工智能。除此之外,她还对表演艺术感兴趣,是一名训练有素的音乐家。
AnshuKumar是一位数据科学家,在解决自然语言处理和推荐系统中的复杂问题方面有超过5年的经验。他拥有印度理工学院马德拉斯分校计算机科学专业工学硕士学位。他也是SpringBoard项目的导师。他目前的兴趣是为大规模多语言数据集实现语义搜索、文本摘要和内容推荐。
学习目标
学习完这本书,你将掌握以下技能:
• 探索和应用不同的静态和交互式数据可视化技术。
• 高效使用Matplotlib、Seaborn、Altair、Bokeh和Plotly库提供的各种类型的图和特征技术。
• 掌握选择适当的图片参数和风格的方法,创建吸引人的图。
• 选择有意义而且信息量大的方式通过数据讲故事。
• 为特定的场景、上下文和观众定制数据可视化。
• 避免数据可视化中的常见错误和失误。
本书面向的读者
这本书旨在为Python开发人员、数据分析师和数据科学家提供一个坚实的培训基础,使他们能够以的方式把握用户的注意力和想象力,从而有效地呈现关键的数据见解。这是一个简单的循序渐进的指南,展示了可视化的不同类型和组成元素、有效交互的原则和技术,以及创建交互式数据可视化时要避免的常见陷阱。
学习这本书的人在编写Python代码方面应当有中等水平的能力,并熟悉一些库(如pandas)的使用。
方法
学习交互式数据可视化的资源相当少。现有的资料要么采用Python以外的其他工具(例如,Tableau),要么只强调某一个Python库来实现可视化。这本书首次提供了用Python实现交互式数据可视化的多种选择,是本全面介绍这些内容的书。我们的介绍方法很简单,任何熟悉Python的人都能理解。
本书遵循一个引人入胜的教学大纲,将通过一系列实际的案例研究,系统地引导读者学习交互式可视化的各个步骤和各个方面。这本书自始至终提供了大量实战信息,除了编程活动外,还对所用工具的功能和限制补充提供了很有用的提示和建议。
硬件需求
为了获得体验,我们推荐以下硬件配置:
•Intel? CoreTMi5处理器4300M,2.60GHz或2.59GHz(1个插槽,2个内核,每内核2线程),以及8GBDRAM。
•Intel? Xeon? 处理器E5-2698v3,2.30GHz(2个插槽,分别有16个内核,每内核1线程),以及64GBDRAM。
•Intel? XeonPhiTM处理器7210,1.30GHz(1个插槽,64个内核,每内核4线程),32GBDRAM 和16GBMCDRAM (支持平面模式)。
• 磁盘空间:2~3GB。
• 操作系统:Windows?10、macOS和Linux。
系统需求:
• 处理器:IntelAtom? 处理器或Intel? CoreTMi3处理器。
• 磁盘空间:1GB。
• 操作系统:Windows7或以上版本、macOS和Linux。
软件需求
我们还建议提前安装以下软件:
• 浏览器:GoogleChrome或MozillaFirefox。
• 版本的Git。
• Anaconda3.7Python发行版本。
•Python3.7。
• 安装以下Python库:numpy,pandas,matplotlib,seaborn,plotly,bokeh,altair和geopandas。
本书约定
正文中的代码文字、数据库表名、文件夹名、文件名、文件扩展名、路径名、URL、用户输入和推特账号显示如下:
“Python使用numpy和scipy等库完成高级数值和科学计算,并基于scikit-learn包支持大量机器学习方法,基于pandas包以及它与ApacheSpark的兼容性,Python为大数据管理提供了一个很好的接口,另外还能利用类似seaborn、plotly等库生成美观的图表。”
代码块显示如下:
#importthepythonmodules
importseabornassns
#loadthedataset
diamonds_df=sns.load_dataset(d'iamonds')
#Plotahistogram
diamonds_df.hist(column=c'arat')
新术语和重要的词用粗体显示:
“核密度估计是估计一个随机变量概率密度函数的非参数方法。”
安装和设置
我们将通过不同的图和交互特性可视化表示不同类型的数据,在开始我们的旅程之前,需要做好准备,提供有效的环境。按照如下说明操作:
安装AnacondaPython发行版本
在官方安装页面(https://www.anaconda.com/distribution/)上找到对应你的操作系统的Anaconda版本。
下载完成后,双击这个文件,打开安装工具,并按照屏幕上的提示完成安装。
安装pip
(1)要安装pip,访问以下链接下载get-pip.py文件:
https://pip.pypa.io/en/stable/installing/。
(2)然后使用以下命令进行安装:pythonget-pip.py。
你可能需要使用python3get-pip.py命令,因为你的计算机上以前版本的Python可能已经使用了python命令。
安装Python库
在你的Anaconda终端中使用以下命令安装Seaborn:
pipinstallseaborn
在你的Anaconda终端中使用以下命令安装Bokeh:
pipinstallbokeh
在你的Anaconda终端中使用以下命令安装Plotly:
pipinstallplotly==4.1.0
使用JupyterLab和JupyterNotebook
你要在JupyterLab或Notebook中完成不同的练习和实践活动。这些练习和实践活动可以从相关GitHub存储库下载。
你可以从这里下载存储库:https://github.com/TrainingByPackt/Interactive-Data-Visualization-with-Python。
可以使用GitHub下载,也可以点击右上角绿色的克隆或下载按钮下载一个zip压缩文件夹。要打开JupyterNotebooks,必须在你的终端中访问相应目录。为此,键入以下命令:
cdInteractive-Data-Visualization-with-Python/<yourcurrentchapter>.
例如:cdInteractive-Data-Visualization-with-Python/Chapter01/
后要完成以下步骤:
(1)要得到各个实践活动和练习,必须再一次使用cd进入各个文件夹,如下所示:cdActivity01
(2)一旦进入选择的文件夹,只需要调用以下命令:
jupyter-lab启动JupyterLab。类似地,对于JupyterNotebook,要调用jupyter notebook
导入Python库
这本书中每个练习和实践活动会利用多个不同的库。在Python中导入库非常简单。做法如下:•
要导入库,如seaborn和pandas,必须运行以下代码:
#importthepythonmodules
importseaborn
importpandas
这会把整个库导入我们的当前文件。
• 在本书练习和实践活动的个单元格中,你会看到以下代码。我们可以在代码中使用sns而不是seaborn来调用seaborn中的方法:
#importseabornandassignaliassns
importseabornassns
安装Git
要安装Git,需要访问https://git-scm.com/downloads,并按照特定于你平台的安装说明完成安装。
其他资源
我们还在GitHub上托管了本书代码包(https://github.com/TrainingByPackt/Interactive-Data-Visualization-with-Python)。
另外还在https://github.com/PacktPublishing/提供了我们出版的大量图书和视频的其他代码包。去看看有什么!
你将学习以下内容:
Abha Belorkar是计算机科学领域的一位教育工作者和研究人员。她在印度彼拉尼的博拉理工学院获得计算机科学学士学位,并在新加坡国立大学获得博士学位。目前她的研究工作包括开发基于统计学、机器学习和数据可视化技术的方法,研究神经退行性疾病的异构基因组数据。
Sharath Chandra Guntuku是自然语言处理和多媒体计算领域的一位研究人员。他在印度彼拉尼的博拉理工学院获得计算机科学学士学位,在新加坡南洋理工大学获得博士学位。他的研究目标是利用大规模的社交媒体图片和文本数据来模拟社会健康水平和心理特征。他使用机器学习、统计分析、自然语言处理和计算机视觉来回答有关个人和社区健康和心理的问题。
Shubhangi Hora是一位Python开发人员、人工智能爱好者、数据科学家和作者。她拥有计算机科学和心理学背景,尤其热衷于心理健康相关的人工智能。除此之外,她还对表演艺术感兴趣,是一名训练有素的音乐家。
Anshu Kumar是一位数据科学家,在解决自然语言处理和推荐系统中的复杂问题方面有超过5年的经验。他拥有印度理工学院马德拉斯分校计算机科学专业工学硕士学位。他也是SpringBoard项目的导师。他目前的兴趣是为大规模多语言数据集实现语义搜索、文本摘要和内容推荐。
目录
前言
第1章 Python可视化介绍:基础和定制绘图 1
1.1 本章介绍 1
1.2 使用pandasDataFrame处理数据 2
1.2.1 从文件读取数据 2
1.2.2 练习1:从文件读取数据 2
1.2.3 观察和描述数据 3
1.2.4 练习2:观察和描述数据 3
1.2.5 从DataFrame选择列 6
1.2.6 为DataFrame增加新列 6
1.2.7 练习3:为DataFrame增加新列 6
1.2.8 在DataFrame列上应用函数 8
1.2.9 练习4:在DataFrame列上应用函数 8
1.2.10 练习5:对多列应用函数 11
1.2.11 从DataFrame删除列 12
1.2.12 练习6:从DataFrame删除列 12
1.2.13 将DataFrame写至文件 13
1.2.14 练习7:将DataFrame写至文件 13
1.3 使用pandas和seaborn绘图 15
1.3.1 创建简单图可视化显示变量分布 15
1.3.2 直方图 15
1.3.3 练习8:绘制和分析直方图 15
1.3.4 柱状图 18
1.3.5 练习9:创建柱状图并计算平均价格分布 18
1.3.6 练习10:创建按一个特定特征分组的柱状图 21
1.4 调整绘图参数 21
1.4.1 练习11:调整分组柱状图的绘图参数 21
1.4.2 标注 23
1.4.3 练习12:标注一个柱状图 23
1.4.4 实践活动1:分析不同场景并生成适当的可视化 25
1.5 小结 29
第2章 静态可视化:全局模式和汇总统计 31
2.1 本章介绍 31
2.2 绘图表示数据中的全局模式 31
2.2.1 散点图 32
2.2.2 练习13:创建一个静态散点图 33
2.2.3 六边形图 33
2.2.4 练习14:创建一个静态六边形图 33
2.2.5 等高线图 34
2.2.6 练习15:创建静态等高线图 34
2.2.7 折线图 35
2.2.8 练习16:创建一个静态折线图 36
2.2.9 练习17:用多个折线图表示数据随时间的变化 37
2.2.10 热图 39
2.2.11 练习18:创建和探索一个静态热图 39
2.2.12 热图中连锁的概念 43
2.2.13 练习19:在静态热图中创建连锁 43
2.3 绘图表示数据的汇总统计 46
2.3.1 再谈直方图 46
2.3.2 示例1:再谈直方图 46
2.3.3 箱形图 47
2.3.4 练习20:创建和探索静态箱形图 47
2.3.5 小提琴图 49
2.3.6 练习21:创建一个静态小提琴图 49
2.3.7 实践活动2:设计静态可视化表示全局模式和汇总统计 51
2.4 小结 53
第3章 从静态到交互式可视化 54
3.1 本章介绍 54
3.2 静态与交互式可视化 55
3.3 交互式数据可视化的应用 58
3.4 交互式数据可视化入门 60
3.4.1 使用Bokeh创建交互式数据可视化 61
3.4.2 练习22:准备数据集 62
3.4.3 练习23:为交互式数据可视化创建基本静态图 65
3.4.4 练习24:为这个静态图增加一个滑动条 67
3.4.5 练习25:增加一个悬停提示工具 69
3.4.6 使用PlotlyExpress创建交互式数据可视化 72
3.4.7 练习26:创建一个交互式散点图 72
3.4.8 实践活动3:使用PlotlyExpress创建不同的交互式可视化 76
3.5 小结 78
第4章 基于层次的数据交互式可视化 79
4.1 本章介绍 79
4.2 交互式散点图 80
4.2.1 练习27:为静态散点图增加放大缩小功能 81
4.2.2 练习28:为散点图增加悬停和工具提示功能 84
4.2.3 练习29:探索散点图上的选择和突出显示功能 86
4.2.4 练习30:生成一个提供选择、缩放和悬停/工具提示功能的图 88
4.2.5 跨多图选择 91
4.2.6 练习31:跨多图选择 92
4.2.7 基于特征值的选择 94
4.2.8 练习32:基于特征值的选择 95
4.3 altair中的其他交互式图 98
4.3.1 练习33:在静态柱状图上增加缩放特性并计算均值 98
4.3.2 练习34:在柱状图上表示均值的一个替代快捷方式 102
4.3.3 练习35:在静态热图上增加缩放特性 105
4.3.4 练习36:创建相邻的柱状图和热图 107
4.3.5 练习37:动态链接一个柱状图和一个热图 110
4.3.6 实践活动4:生成一个柱状图和一个热图表示GooglePlayStoreApps
数据集中的内容分级类型 113
4.4 小结 115
第5章 基于时间的数据交互式可视化 116
5.1 本章介绍 116
5.2 时态数据 117
5.3 时态数据类型 117
5.3.1 为什么研究时态数据可视化? 118
5.4 理解时态数据和时间序列数据的关系 119
5.5 使用时态数据的领域示例 120
5.6 时态数据可视化 120
5.6.1 如何管理和可视化时间序列数据 123
5.6.2 pandas中的日期/时间处理 124
5.6.3 建立一个Datetime索引 125
5.7 为时态数据选择正确的聚合等级 126
5.7.1 练习38:创建一个静态柱状图并计算时态数据的均值和标准差 127
5.7.2 练习39:计算zscore查找时态数据中的异常值 130
5.8 时态数据中的重采样 133
5.8.1 上采样和下采样的常见问题 134
5.8.2 练习40:时态数据的上采样和下采样 134
5.8.3 使用shift和tshift在时间序列数据中引入滞后 136
5.8.4 练习41:使用shift和tshift移动数据中的时间 137
5.8.5 时间序列中的自相关 139
5.9 交互式时态数据可视化 141
5.9.1 Bokeh基础 141
5.9.2 使用Bokeh的优点 141
5.9.3 练习42:使用Bokeh为静态折线图增加交互性 142
5.9.4 练习43:改变折线图中线的颜色和宽度 144
5.9.5 练习44:增加方框标注来找出数据集中的异常值 145
5.9.6 Bokeh中的交互性 147
5.9.7 实践活动5:创建一个交互式时态数据可视化 148
5.10 小结 150
第6章 地理数据交互式可视化 151
6.1 本章介绍 151
6.2 等值线地图 152
6.2.1 世界等值线地图 152
6.2.2 练习45:创建一个世界等值线地图 153
6.2.3 练习46:调整一个世界等值线地图 155
6.2.4 练习47:为等值线地图增加动画 159
6.2.5 美国各州地图 162
6.2.6 练习48:创建美国各州的等值线地图 163
6.3 在地理地图上绘图 165
6.3.1 散点图 166
6.3.2 练习49:在一个地理地图上绘制散点图 166
6.3.3 气泡图 168
6.3.4 练习50:在地理地图上绘制气泡图 168
6.3.5 地理地图上的折线图 174
6.3.6 练习51:在地理地图上绘制折线图 174
6.3.7 实践活动6:创建一个等值线地图表示全世界可再生能源生产和
消费总量 179
6.4 小结 183
第7章 避免创建交互式可视化的常见陷阱 184
7.1 本章介绍 184
7.2 数据格式化和解释 184
7.2.1 避免处理脏数据时常见的问题 185
7.2.2 异常值 185
7.2.3 练习52:使用箱形图可视化表示数据集中的异常值 186
7.2.4 练习53:处理异常值 189
7.2.5 缺失数据 191
7.2.6 练习54:处理缺失值 191
7.2.7 重复实例和/或特征 193
7.2.8 不好的特征选择 194
7.2.9 实践活动7:确定在一个散点图上可视化哪些特征 195
7.3 数据可视化 197
7.3.1 选择可视化 197
7.3.2 可视化数据时的常见陷阱 199
7.3.3 练习55:创建一个让人困惑的可视化 199
7.3.4 实践活动8:创建一个柱状图改善可视化 202
7.4 可视化过程速查表 203
7.5 小结 205
第8章 附录 207
8.1 第1章:Python可视化介绍:基础和定制绘图 207
8.1.1 实践活动1:分析不同场景并生成适当的可视
— 没有更多了 —
以下为对购买帮助不大的评价