box plot:pandas和matplotlib中的whisker定义

时间:2018-03-05 20:05:58

标签: python-3.x pandas matplotlib boxplot

来自https://en.wikipedia.org/wiki/Box_plot

箱形图的胡须有以下可能的定义:

  • 所有数据的最小值和最大值[1]
  • 最低四分位数的1.5 IQR以内的最低基准,以及仍然在上四分位数的1.5 IQR内的最高基准
  • 高于和低于数据平均值的一个标准差
  • 第9百分位数和第91百分位数
  • 第二百分位数和第98百分位数。

我想知道pandas

df['data'].plot(kind = 'box',  sym='bD')

使用哪种定义?

另外,对于matplotlib库:

ax.boxplot(dfa.duration)

使用哪种定义?

谢谢!

1 个答案:

答案 0 :(得分:5)

boxplot documentaton关于胡须的说法

  

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

     

作为浮子,确定胡须的距离超出第一和第三四分位数。换句话说,在IQR是四分位间距(Q3-Q1)的情况下,上部晶须将延伸到小于Q3 + whis IQR的最后数据。类似地,较低的晶须将延伸到大于Q1的第一个数据 - whis IQR。除了晶须之外,数据被视为异常值并被绘制为单个点。将其设置为不合理的高值,以强制晶须显示最小值和最大值。或者,将其设置为百分位数的递增序列(例如,[5,95])以将晶须设置在数据的特定百分位数处。最后,whis可以是字符串'范围'强迫胡须达到数据的最小值和最大值。

问题列表中唯一不容易实现的定义是"一个标准偏差",所有其他定义都很容易用这个参数设置。默认值为1.5IQR定义。

pandas.DataFrame.boxplot调用matplotlib函数。因此它们应该是相同的。