大熊猫箱形图中的胡须到底是什么?

vas*_*ek1 14 boxplot pandas

在具有默认设置的python-pandas 箱图,红色条是平均值 ,而框表示第25和第75个四分位数,但在这种情况下,胡须究竟是什么意思呢?文档在哪里找出确切的定义(找不到它)?

示例代码:

df.boxplot()
Run Code Online (Sandbox Code Playgroud)

示例结果:

在此输入图像描述

Tim*_*era 7

你在问题中提到红线是平均值 - 它实际上是中位数.

来自Chang She上面提到的matplotlib链接:

该框从数据的下四分位数值向上四分位数值延伸,中间有一条线.晶须从盒子中伸出以显示数据范围.飞行员点数是那些胡须结束时的点数.

我没有进行实验,但是有一个'meanline'选项可能会将该线放在平均值上.


Fra*_*urt 7

来自Amelio Vazquez-Reina在 matplotlibBoxplots的回答:标记和异常值

在此处输入图片说明

异常值(+箱线图中的标记)只是下方宽边之外的点[(Q1-1.5 IQR), (Q3+1.5 IQR)]

仅供参考:对盒须图中围栏的位置感到困惑

  • 请注意,胡须实际上不是距离盒子的 1.5 x IQR,它们是该范围内的最小和最大数据值。 (3认同)

Joo*_*eey 7

Pandas只是从matplotlib包装boxplot函数.该matplotlib的文档进行了详细的晶须的定义:

whis:float,sequence或string(默认值= 1.5)

作为浮子,确定胡须的距离超出第一和第三四分位数.换句话说,在IQR是四分位数范围(Q3-Q1)的情况下,上部晶须将延伸到小于Q3 + whis*IQR的最后数据.类似地,较低的晶须将延伸到大于Q1的第一个数据 - whis*IQR.除了晶须之外,数据被视为异常值并被绘制为单个点.

Matplotlib(和Pandas)还为您提供了许多选项来更改胡须的默认定义:

将其设置为不合理的高值,以强制晶须显示最小值和最大值.或者,将其设置为百分位数的递增序列(例如,[5,95])以将胡须设置在数据的特定百分位数处.最后,whis可以是字符串'range'来强制胡须到数据的最小值和最大值.

下面的图形说明了stats.stackexchange的答案.请注意,如果您未whis在Pandas中提供关键字,则k = 1.5 .

在此输入图像描述


Cha*_*She 5

这些在matplotlib文档中指定.胡须是四分位数范围内的一些倍数(默认为1.5).

  • 您的简短说明完全不准确.晶须的最小值和最大值在IQR的1.5倍以内.点是异常值,即每个数据超过1.5*IQR远离盒子. (4认同)