使用SeaBorn & Python Pandas创建箱线图

使用SeaBorn & Python Pandas创建箱线图

箱线图是一种经常用于数据分析的图表类型,它可以帮助我们快速的了解数据的分布情况以及异常点。在Python中,我们可以使用SeaBorn & Pandas库来创建箱线图。

更多Pandas相关文章,请阅读:Pandas 教程

准备数据

在这个示例中,我们将使用一个虚拟的数据集。首先,我们需要安装SeaBorn库并导入以下几个库。

!pip install seaborn
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

创建一个数据名称为 df,包含5列和100行,并使用随机数据填充。

import numpy as np
np.random.seed(10)
df = pd.DataFrame({'A': np.random.randn(100),
                   'B': np.random.randn(100) + 1,
                   'C': np.random.randn(100) - 1,
                   'D': np.random.randn(100) - 2,
                   'E': np.random.randn(100) + 2})
print(df.head())

输出结果如下:

          A         B         C         D         E
0  1.331587  0.411399 -1.545400 -2.027134  2.252168
1  0.715279  1.912866 -0.008384 -1.755605  0.322981
2 -1.545400  1.287688 -0.121668 -1.402564  4.019005
3  0.621336  1.579213  0.680069 -0.820392  0.870047
4 -0.720086  0.829485 -0.022423 -0.076200  1.918219

现在我们有了一个数据列表格,让我们开始使用SeaBorn创建一个箱线图。

创建 箱线图

在SeaBorn中创建一个箱线图非常简单。我们只需要使用 sns.boxplot() 函数即可创建。

sns.boxplot(data=df)
plt.show()

这将创建一个包含所有列的箱线图。

在上图中,我们可以看到每个列的箱线图。箱线表示的是中位数,上下四分之一位数以及异常值的区间范围。

从这个示例图中,我们可以发现每个变量的中位数和分布范围,以及是否有异常值。

下面我们来逐步分析创建箱线图的具体技巧。

自定义 横轴标签

如果我们想要自定义横轴标签的话,我们可以将数据的列名称作为 x 参数,并将 y 参数设置为我们需要绘制的列。

sns.boxplot(data=df, x="A", y="B")
plt.show()

上述代码将创建一个由A列绘制的箱线图,y轴为B列。

在生成的图表中,我们可以看到沿着A列分布的B列的箱形图结构。这有助于我们更好地理解B列何时出现异常值以及它们的位置。

自定义纵轴范围

我们可以通过设置 ylim 参数来自定义纵轴的范围。

sns.boxplot(data=df, x="A", y="B")
plt.ylim(0, 3)
plt.show()

上述代码将创建一个由 A 列绘制的箱线图,y轴为B列,并将纵轴范围限制在0到3之间。

在生成的图表中,我们可以看到纵轴被限制在0到3之间,这使我们更清楚地看到了B列中箱形图的细节。

自定义颜色

我们可以通过设置 color 参数来自定义箱线图的颜色。

sns.boxplot(data=df, x="A", y="B", color="green")
plt.ylim(0, 3)
plt.show()

上述代码将创建一个由A列绘制的箱线图,y轴为B列,并将箱线图的颜色设置为绿色。

在生成的图表中,我们可以看到绿色的箱子和中位数线,这使图表更加突出。

绘制多个箱线图

我们可以使用 Pandas 中的 groupby() 函数来绘制具有分组情况的多个箱线图。

例如,以下代码将生成一个包含 A、B 列并分组的箱线图:

sns.boxplot(data=df, x="A", y="B", hue="C")
plt.ylim(0, 3)
plt.show()

这将生成一个包含 A、B 列并按 C 列分组的箱线图。

在上图中,我们可以看到每组数据的箱线图的不同颜色,更方便的比较每组数据的差异。

结论

在使用SeaBorn & Pandas库创建箱线图时,我们可以轻松地了解数据分布情况以及异常点。我们可以自定义横轴标签,纵轴范围,箱线图的颜色以及绘制多个箱线图等功能。使用箱线图可以更加直观的了解数据分布情况,为数据分析提供更好的参考。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程