Python seaborn.displot()方法2025年1月5日 | 阅读 7 分钟 seaborn.displot() 是一个提供访问多种单变量和双变量数据分布可视化方法的函数。与 Seaborn 库中的其他函数类似,此函数支持基于多个子图之间的语义映射来确定数据子集的绘制。 分布图显示了一组数值相对于给定维度的范围和分布。 Seaborn 的 displot() 函数的语法如下: 语法 参数 下面将讨论 displot() 方法的一些参数。
此可视化提供了直方图作为默认图形。在构建图形之前,让我们导入数据集和 Seaborn 库。 加载 Seaborn 库 可以使用以下代码导入或加载 Seaborn 库。 加载数据集 本文将使用 Seaborn 库中预装的 Tips 数据集。要加载数据集,请运行以下命令。 使用下方列出的命令,您可以查看数据集的前五行。这有助于您理解可以在图上绘制的变量。 上面代码的运行结果如下图所示。 现在数据已加载,我们将对其进行可视化。 示例 1 在此示例中,我们将使用 seabron.display() 方法进行单变量分布,以绘制一个基本的分布图。对于此方法,直方图是默认的图形类型。 说明 在加载 "tips" 数据集(其中包含餐厅服务员收到的小费信息,包括总账单和消费金额等变量)之前,代码会导入所需的库 Seaborn 和 Matplotlib。tips 提供对数据 head() 方法的简要概述,该方法显示数据集的前几行。然后,使用 sns.displot 函数创建的分布图(通常称为直方图)显示了数据集中总账单金额的频率分布。最后,通过调用 plt.show() 显示图形。这种图形有助于观察总账单金额的离散程度和中心趋势。 输出 ![]() 可以看到,绘制了总账单列作为直方图,y 轴为计数。 示例 2 在此示例中,我们将学习如何使用 type 参数并为其提供其他输入。 kind 参数的三个可能选项是 kde、ecdf 和 hist。 使用以下代码生成表示经验累积分布的图形。 说明 代码首先在导入 Seaborn 和 Matplotlib 库后加载 "tips" 数据集,该数据集包含有关餐厅账单和小费的详细信息。tips.head() 方法显示了该数据集的前几行。接下来,通过将 kind="ecdf" 传递给 sns.displot 函数,生成了 "total_bill" 列的经验累积分布函数 (ECDF) 图。ECDF 图通过显示数据集中低于每个不同值的观测值的百分比或计数,提供分布的累积视角。最后,通过调用 plt.show() 渲染图形。这种 ECDF 显示有助于理解总账单金额的累积分布和百分位数。 输出 ![]() 说明 在导入 Seaborn 和 Matplotlib 库后,代码加载了 "tips" 数据集,其中包含有关餐厅账单和费用的信息。为了进行总结,tips.head() 方法显示了该数据集的前几行。接下来,通过将 kind="kde" 传递给 sns.displot 函数,生成了 "total_bill" 列的核密度估计 (KDE) 图。KDE 图是直方图的平滑、连续形式,它提供了对总账单金额概率密度函数的估计。最后,通过调用 plt.show() 显示图形。与直方图不同,此 KDE 图有助于更细致、更流畅地理解总账单金额的潜在分布和密度。 输出 ![]() 示例 3 在这种情况下,我们将绘制双变量分布图。为此,可以将数据发送到方法的 x 和 y 参数。 说明 一旦代码最初导入了 Seaborn 和 Matplotlib 包,就会加载包含餐厅账单和小费详细信息的 "tips" 数据集。有关数据的概览,请参阅 tips.head() 方法,该方法显示了该数据集的前几行。然后,使用 sns.displot 函数,并设置 x="total_bill" 和 y="tip" 参数,绘制 "total_bill" 和 "tip" 之间的双变量关系。此处绘制了消费金额和小费金额之间的关系,以便我们可以查看这两个变量之间的任何趋势或关联。最后,通过调用 plt.show() 渲染图形。这种双变量图有助于更好地理解消费金额和小费金额之间的分布和相关性。 输出 ![]() 创建双变量图形并将 kind 参数设置为某个值。 说明 在导入 Seaborn 和 Matplotlib 包后,代码加载了包含餐厅账单和小费信息的 "tips" 数据集。为了进行总结,tips.head() 方法显示了数据集的前几行。接下来,通过指定 x="total_bill", y="tip", 和 kind="kde",使用 sns.displot 函数生成双变量核密度估计 (KDE) 图。此 KDE 图可视化了总账单金额和小费金额的联合密度,提供了一个平滑的、连续的轮廓图,显示了数据点集中的位置。最后,通过调用 plt.show() 显示图形。此双变量 KDE 图突出了较高密度区域,并有助于更细致、更流畅地理解总账单金额和小费金额之间的分布和关系。 输出 ![]() 示例 4 绘制双变量分布并更改方法的参数,我们将能够观察图形的变化。 首先,我们将绘制一个 kde 图并传入 x、y 和 hue 参数。 说明 在导入 Seaborn 和 Matplotlib 库后,代码加载了 "tips" 数据集,其中包含有关餐厅账单、小费和其他变量的详细信息。有关数据的概览,请参阅 tips.head() 函数,该函数显示了该数据集的前几行。使用 sns.displot 函数,并设置 x="total_bill", y="tip", hue="sex", 和 kind="kde" 参数,以生成双变量核密度估计 (KDE) 图。此 KDE 图使用不同的轮廓线表示男性和女性顾客,创建了平滑的、连续的轮廓图,显示了总账单金额和小费金额的联合密度。最后,通过调用 plt.show() 显示图形。 输出 ![]() 示例 5 在此示例中,我们将展示如何在单变量图形中使用多个关键字参数。Numerous 是一个额外的关键字参数,允许自定义图形。 本质上,multiple 接受一个堆叠值并相应地绘制数据。这在下图中有体现。 说明 在导入 Seaborn 和 Matplotlib 库后,代码加载了 "tips" 数据集,其中包含有关餐厅账单、小费和其他变量的数据。为了进行总结,tips.head() 方法显示了该数据集的前几行。使用 hue="sex" 和 multiple="stack" 参数,通过 sns.displot 方法构建了 "total_bill" 列的直方图。这种安排生成了按性别划分的总账单金额的堆叠直方图,使得可以比较男性和女性顾客的消费体验。最后,通过调用 plt.show() 渲染图形。这种堆叠直方图通过帮助可视化总账单金额的分布及其在男性和女性顾客之间的差异,提供了关于可能的消费模式(取决于性别)的见解。 输出 ![]() |
假设您是一位产品经理,希望将客户评价分为好评和差评两类。或者作为贷款经理,您希望识别哪些贷款申请人是安全的或危险的?您想预测哪些人会患糖尿病...
阅读 17 分钟
蛮力算法简介 蛮力算法是一种直接的问题解决方法,它通过系统地测试所有可行的选择来找到解决方案。当更有效的方法过于困难或任务规模足够小时,可以使用此方法,此时蛮力技术是...
7 分钟阅读
介绍 datetime 中有一个 weekday() 函数。Python 的 date 类会生成一个表示星期几的整数,其中星期一为 0,星期日为 6。这是一种在给定日期查找星期几的实用方法,适用于多种用途,包括数据...
阅读 3 分钟
简介:BeautifulSoup 是一个专为网页抓取而设计的 Python 库,是解析 HTML 和 XML 文档的强大工具。其核心功能之一是能够导航和提取文档树中的信息。在使用 BeautifulSoup 时,用于此目的的两个常用方法是...
阅读 3 分钟
平均值、中位数和众数是数据分析中非常常用的统计函数。尽管有一些 Python 库。平均值:将列表中的所有数字相加,然后除以列表中数字的总数所得的数字称为平均值,也称为……
5 分钟阅读
Python 的 re.escape() 方法会转义模式字符串中的所有非字母数字字符。当您尝试匹配由标点符号或正则表达式运算符等正则表达式特殊字符组成的字符串时,此方法起着重要作用,否则这些字符将被视为一部分……
阅读 3 分钟
?简介 正则表达式,通常称为 regex 或 regexp,是由字符组成的定义搜索模式的序列。它们用于字符串匹配和操作,提供了一种基于模式强大而灵活的方式来搜索、匹配和编辑文本。正则表达式被广泛...
阅读 4 分钟
在本教程中,我们将回顾如何使用 Kaggle Telco Customer 数据集开发简单而实用的模型来预测客户流失率。背景和问题;数据摘要和探索性分析;数据分析;策略建议、缺点和未来研究都包含在具体流程中。背景给定...
14 分钟阅读
Python 中 matplotlib.pyplot.clf() 简介 Matplotlib 是一个强大的 Python 包,允许您创建静态、动画和交互式可视化。它通常用于创建图形和图表,使其成为数据分析和科学思考的重要工具。Pyplot,Matplotlib 的一个...
阅读 4 分钟
TypeScript 和 Python 简介 TypeScript 和 Python 都是流行的编程语言,但用途不同。TypeScript 是一种静态类型语言,它构建在 JavaScript 之上,主要用于 Web 开发。它提供了强类型、接口和改进的工具,使代码更易于管理...(此段落未提供完整的英文原文,故翻译不完整)
阅读 12 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India