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

时间:2012-08-22 23:03:38

标签: pandas boxplot

在具有默认设置的python-pandas箱图中,红色条是 mean 中位数,框表示第25和第75个四分位数,但是胡须到底是什么这个意思是什么意思?文档在哪里找出确切的定义(找不到它)?

示例代码:

df.boxplot()

示例结果:

enter image description here

4 个答案:

答案 0 :(得分:7)

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

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

  

该框从数据的下四分位数值向上四分位数值延伸,   在中位线有一条线。胡须从盒子延伸到显示   数据范围。飞行员积分是那些过去的结尾   晶须。

我没有进行实验,但有一个'meanline'选项可能会使该线处于平均值。

答案 1 :(得分:6)

Pandas只是从matplotlib中包装了boxplot函数。 matplotlib docs详细定义了胡须:

  

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

     

作为浮子,确定胡须的触及范围   第一和第三四分位数。换句话说,IQR就是   四分位数范围(Q3-Q1),上部晶须将延伸至最后   数据小于Q3 + whis * IQR)。同样,较低的晶须会   延伸到大于Q1的第一个数据 - whis * IQR。超过   晶须,数据被视为异常值,并作为个体绘制   分。

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

  

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

下图是从stats.stackexchange answer说明这一点的图片。请注意,如果您未在Pandas中提供whis关键字,则k = 1.5。

enter image description here

答案 2 :(得分:5)

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

答案 3 :(得分:3)

来自Amelio Vazquez-ReinaBoxplots in matplotlib: Markers and outliers答案:

  

enter image description here

     

异常值(框图中的+标记)只是下面宽[(Q1-1.5 IQR), (Q3+1.5 IQR)]边距的 点。

仅供参考:Confused by location of fences in box-whisker plots