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

你在问题中提到红线是平均值 - 它实际上是中位数.
来自Chang She上面提到的matplotlib链接:
该框从数据的下四分位数值向上四分位数值延伸,中间有一条线.晶须从盒子中伸出以显示数据范围.飞行员点数是那些胡须结束时的点数.
我没有进行实验,但是有一个'meanline'选项可能会将该线放在平均值上.
来自Amelio Vazquez-Reina在 matplotlib中Boxplots的回答:标记和异常值:
异常值(
+箱线图中的标记)只是下方宽边之外的点[(Q1-1.5 IQR), (Q3+1.5 IQR)]。
仅供参考:对盒须图中围栏的位置感到困惑
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 .
这些在matplotlib文档中指定.胡须是四分位数范围内的一些倍数(默认为1.5).
| 归档时间: |
|
| 查看次数: |
6196 次 |
| 最近记录: |