欢迎光临散文网 会员登陆 & 注册

一行Pandas代码即可惊艳四座!

2022-06-11 18:24 作者:python风控模型  | 我要投稿

使您的图表具有交互性和视觉吸引力的简单技巧

出色的可视化会带来出色的洞察力。

几乎所有使用 Python 的数据科学家也使用Pandas。它是用于数据处理的事实上的 Python 库。开箱即用的 Pandas 为常见的图表类型提供了一些很好的可视化。

但默认值并不是最好的。

我们可以使用 Plotly 等配套框架让它变得更好。我们可以将绘图后端设置为 Plotly,并在我们的项目中使用其时尚的图表。

但是单独设置后端并不能为我们的数据帧提供Plotly的全部好处。例如,Pandas 没有曲面图选项。此外,Plotly 创建图表的方式与 Pandas 略有不同。

Cufflinks是另一个弥补这一差距的库。我们可以使用类似 Pandas 的调用来创建更令人惊叹的图表。而且,我们可以开发高级图表,如曲面图。

如何用dataframes 绘图——纯粹的 Pandas 方式。

在 Pandas 中,如果要创建条形图、箱线图等图表,只需调用 plot 方法即可。我们可以指定我们需要的图表类型和其他几种配置。

在以下示例中,我们正在使用 panda 的内置绘图功能创建条形图。

上面说的很直接。然而,它的表现力并不是那么好。

Pandas 的默认绘图后端是Matplotlib。它在许多情况下都能正常工作。但是使用不同的后端,图表会更好。

我们可以通过将绘图后端更改为 Plotly 来快速将这个普通的图表变成一张漂亮的图表。

如果您的计算机上尚未安装 Plotly,请使用上述代码。

pip install plotly==5.5
# conda install -C plotly plotly==5.5.0

我们可以使用以下行将后端设置为 Plotly。我建议您在将 pandas 导入笔记本(或项目)后立即添加此行。

生成的图表在美学上更具吸引力,并且总结得很好。

通过将绘图后端设置为 Plotly,我们可以将枯燥的图表转换为漂亮的图表。 除了这个配置,Pandas 不需要其他设置来执行此操作。

但是,正如我之前提到的,它仍然缺少一些关键图表。让我们以不同的方式来挖掘 Plotly 的最大潜力。

如何使用袖扣从数据框创建图

Cufflinks 是一个 Python 库,它可以帮助我们以类似于 Pandas 的原生语法将 Plotly 与 Pandas 一起使用。它还添加了比我们通常在 Pandas 数据框中看到的更多令人印象深刻的图表类型。

我们可以一次导入它并配置全局主题和其他选项,并使用iplot添加到每个数据帧的 API 而不是其默认的绘图方法。

让我们使用以下命令从PyPI安装它。

安装后,我们可以在 Notebook 中导入和配置它。

我们现在可以使用该iplot方法创建许多不同的图表。这是一个例子。

我们使用datagen了 Cufflinks 包的模块。它允许我们为各种情况生成随机数据。我们将使用它为本文的其余部分创建数据。

使用 Plotly 创建的折线图比使用 Matplotlib 的默认 Pandas 图更具表现力。

这个微小的调整极大地提高了我们图表的可呈现性,而不会显着改变我们的代码。

我们可以在数据框上创建的 Plotly 数据可视化类型。

Plotly 有几种不同的图表类型。其中一些可以通过袖扣获得,我们可以直接从数据框调用。

以下是 Pandas 中没有的一些图表,但可以通过袖扣实现。

3D 曲面图。

曲面图是 3 维数据的直观表示。它在许多应用程序中都有帮助。例如,我们在机器学习中使用曲面图来研究成本函数和梯度下降优化。

以下代码从数据框创建曲面图。袖扣选择列和行索引作为 x 和 y 轴。数据框的值在 z 轴上。

曲面图非常适合同时研究三个实数变量。 Pandas 没有表面绘图选项。 但是,如果您将袖扣与 Pandas 一起使用,则可以在一行代码中创建一个 Plotly 曲面图。

如果您的数据集的所有值都在不同的列中,请在绘图前使用如下所示的数据透视函数将其转换为兼容格式。

气泡图

气泡图是另一种以有意义的方式可视化多个维度的好方法。我们可以在一张图表中描绘四个特征,包括一个分类变量。

下图显示了行星大小如何随着与太阳的距离和每个行星的质量而变化(备注是生成实验假数据。)

默认情况下,气泡图在 Pandas 中不可用。 但是,如果您将袖扣与 Pandas 一起使用,您可以在一行代码中创建一个 Plotly 气泡图。 气泡图需要四个或五个变量; x 轴、y 轴、大小、类别和悬停时显示的文本。

另外,请注意,您使用 Cufflinks 扩展创建的图表是交互式的。将鼠标悬停在任何气泡上以查看其详细信息。您可以单击任何类别将其打开或关闭。

热图图表

热图通常是在我们的数据集中找出热点的更简单方法。它们就像曲面图,允许我们同时可视化三个数据维度。但是在这里,我们有一个色谱,而不是 z 轴。

与其他图表类型一样,创建热图也很容易。

使用 Cufflinks 创建的热图,在 Pandas 数据帧上绘制 - 作者的屏幕截图。

价差图

假设您在一段时间内跟踪两个类别的变量;您可能还想了解它们的差异如何随时间变化。您可能需要查看差距是否正在缩小甚至翻转。或者也许是差距本身的趋势。

价差图是可视化两个变量随时间的价差的绝佳方式。

散布图的工作方式与折线图类似。但除了绘制单独的线之外,它还会在折线图下方生成一个面积图。它们都共享相同的时间轴,因此很容易理解。

价差图是研究两个变量随时间变化的好方法。 除了折线图,散布图下方还有一个面积图来显示线之间的差异。 由于两个图表共享相同的时间轴,因此易于阅读。 Pandas 在其默认绘图 API 中没有这种图表类型。 但是,如果您将袖扣与 Pandas 一起使用,则可以使用 iplot 方法创建一个 Plotly 散布图。

这些只是您可以使用 Cufflinks 扩展创建的众多图表中的一部分。当然,您也可以从 pandas 默认 API 中获取更常见的图表。

改变图表的主题。

通过 Cufflinks 配置,您可以轻松地在多个颜色主题之间切换。我们有以下选项可供选择。

在本文的顶部,我们在第一次配置 Cufflinks 时使用了珍珠主题。以下是我们如何将其更改为不同的主题。

这是我们使用的最后一个示例在其他颜色主题中的显示方式。

总结

可视化使我们对数据做出惊艳可视化展示。

在使用 Pandas 数据框时,我们主要使用其默认的绘图方法来创建图形。但是这些图表的样式不足以很好地呈现它。一个快速的技巧是将绘图后端更改为 Plotly 并拥有漂亮的图表。

然而,另一个用于 Pandas 数据帧的 Plotly 绑定,称为 Cufflinks,为默认的 Pandas 绘图选项增加了额外的可能性。有了它,我们可以在几个预配置的主题之间快速切换,并解锁 Pandas 中没有的图表。

这篇文章讨论了如何开始使用 Pandas、Plotly 和 Cufflinks。我们还在一行代码中为我们的数据框创建了一些奇妙的视觉效果。




一行Pandas代码即可惊艳四座!的评论 (共 条)

分享到微博请遵守国家法律