boxplot() - Pandas.plotting模块

361 阅读5分钟

箱形图是统计学中使用的一种方法,以图形方式显示一组或多组数字数据,并确定其四分位数。箱形图通常也被称为 盒须图因为该图可能有从盒子里延伸出来的线来显示上下四分位数以外的数据。

在这篇文章中,我们将快速向你介绍箱形图,然后向你展示如何使用Pandas绘图模块中的函数boxplot() ,从.csv 文件中创建一个图。

什么是盒式图?

框图是显示数据集的一种标准方法,突出了五个最重要的统计指标。它们是最小值、最大值、中位数以及第一和第三百分位数。膨胀图还将识别位于最小最大 百分位数之外的任何数据,即所谓的离群值

你可能会问,你是如何得到位于最大和最小百分位数之外的数字的?好吧,这就是对百分位数的理解。 四分位数范围的含义。四分位数范围,也被称为中间50%,是对数据分散性的一种统计测量。如果你把第一个四分位数从第三个四分位数中抽出,你就得到了四分位数范围。

你用这个数字来设定数据范围的最小和最大点。用1.5乘以四分位数范围,再从第一个四分位数中减去,就可以计算出最小的数字。用1.5乘以四分位数范围,再加上第三个四分位数,计算出最高数字。任何位于这些最小和最大点之外的数据都被视为离群值。下面是一张草图,向你展示箱形图的组成部分。

Boxplot

。带有标准术语注释的Bowxplot

使用潘达斯绘图模块的boxplot()函数

Pandas绘图 模块有一个统计函数库,其中一个是boxplot() 函数。boxplot() ,简化了数据集中各列的分析和图形表示。

我们将使用Palmer Archipelago(南极洲)的企鹅数据集。对于我们的目的来说,这是一个理想的数据集,因为它并不笨重,但却能很好地让我们展示这个函数的工作原理。

这个数据集观察了三个不同的南极岛屿上的三个不同的企鹅物种,并捕捉到了每只企鹅的性别、脚蹼的长度、重量、以及喙的长度和深度。我们将在脚蹼长度一栏上运行一个箱形图,并根据企鹅的类型和它所来自的岛屿对结果进行分类。

boxplot()函数的语法

你可以在这里找到关于boxplot() 函数的信息。语法简单明了,接受以下参数。

pandas.plotting.boxplot(data, column=None, by=None, ax=None, fontsize=None, rot=0, grid=True, figsize=None, layout=None, return_type=None, **kwargs)
参数描述
数据从你存储原始数据的任何文件格式中创建的数据框架。在我们的例子中,是一个.CSV文件。
可选的。如果省略,你将收到一组数据框中所有列的箱形图。在我们的代码中,我们将选择flipper_length_mm列。
可选的。允许你按一个或多个列来分组箱形图。在我们的例子中,我们希望看到按物种和岛屿分组的鳍状体长度。
可选的。如果你想在你的箱形图中使用Matplotlib的轴,请使用。在我们的代码中,我们将不使用这个参数。
字体大小可选的。接受一个浮点数来表示字体大小,或者一个字符串,如 "小"、"中"、"大"。
旋转可选的,默认为0。它允许通过输入一个整数或浮点数来旋转标签,代表度数。
网格可选的。为真将在箱形图上显示一个网格。
figsize可选的。接受一个以英寸为单位的图块大小(x,y)的元组。
布局可选的。接受一个元组,表示显示子图时要使用的列数和行数(行,列)。
返回_类型可选的。标明要返回的对象的种类。默认是'axes',返回boxplot所使用的matplotlib坐标轴。使用'dict'返回一个字典,其值是boxplot的matplotlib线,而'both'返回一个包含坐标轴和dict的命名元组。
**kwargs允许输入你可能希望传递给matplotlib的任何其他关键字参数。

使用boxplot()

首先,我们需要导入Pandas,并从保存在我们电脑上的.CSV文件中创建一个数据框。

我们还将使用matplotlib.pyplot来绘制图形,所以让我们来完成这些代码。

import pandas as pdimport
matplotlib.pyplot as pltdf

= pd.read_csv('C:\\Users\David\Downloads\penguins_size.csv')

现在我们只需要调用插入了各种参数的boxplot()函数。

import pandas as pdimport
matplotlib.pyplot as pltdf

= pd.read_csv('C:\Users\David\Downloads\penguins_size.csv')

pd.plotting.boxplot(df, column=['flipper_length_mm'], by=['land', 'species'], grid=False, figsize=(25,18), fontsize=15)

plt.show(

)

我们来运行一下,结果是这样的。

这张图显示了阿德利企鹅在岛屿间的脚蹼长度差异,以及梦之岛的金龟子和阿德利企鹅之间的差异。注意五个方框图中的三个的离群值。

作为最后的说明,有一种速记方法可以调用boxplot的语法,它看起来像下面这样。两者都会得到相同的回报。我使用的是速记法,因为它与你在pandas.plotting模块页面上看到的语法一致。

df.boxplot(column=['flipper_length_mm'], by=['land', 'species'], grid=False, figsize=(25,18), fontsize=15)

总结

我们谈到了箱形图,它是统计学中用来用图形显示一组或多组数字数据及其四分位数的一种方法。你也可能听到箱形图被称为箱须图。

在介绍Pandas绘图模块函数boxplot()之前,我们对箱形图做了一个简单的概述,并描述了其特点。然后,我们使用boxplot()和matplotlib.pyplot写了一些代码,询问了企鹅数据集,并产生了一个脚蹼长度列的引导图,以便进行分析。

文章boxplot() - Pandas.plotting模块首次出现在Finxter上。