Python 通过示例理解Seaborn箱线图
我试图通过一些示例数据集来理解seaborn箱线图。所以,使用“提示”数据集Python 通过示例理解Seaborn箱线图,python,seaborn,boxplot,Python,Seaborn,Boxplot,我试图通过一些示例数据集来理解seaborn箱线图。所以,使用“提示”数据集 tips = sns.load_dataset('tips') 首先,使用18个值作为: tips = tips[0:18] 所需数据集如下: 1 8.77 2 10.27 3 10.33 4 10.34 5 14.78 6 14.83 7 15.04 8 15.42 9 16.29 10 16.99 11 18.43 12 21.01 13 2
tips = sns.load_dataset('tips')
首先,使用18个值作为:
tips = tips[0:18]
所需数据集如下:
1 8.77
2 10.27
3 10.33
4 10.34
5 14.78
6 14.83
7 15.04
8 15.42
9 16.29
10 16.99
11 18.43
12 21.01
13 21.58
14 23.68
15 24.59
16 25.29
17 26.88
18 35.26
所需图表如下所示:
为了更好地理解,我自己计算了Q1、Q2和Q3
Q2(Median): 16.64
Q1 Data:
9 values
[8.77, 10.27, 10.33, 10.34, 14.78, 14.83, 15.04, 15.42, 16.29]
Q1 Median: 14.78
Q3 Data:
9 values
[16.99, 18.43, 21.01, 21.58, 23.68, 24.59, 25.29, 26.88, 35.26]
Q3 Median: 23.68
Min: 8.77
Max: 35.26
Interquartile Range(IQR): 8.9
Five Number Summary:
8.77, 14.78, 16.64, 23.68, 35.26
到目前为止,它看起来非常令人信服,因为五个数字的摘要与图表相匹配。现在,我正在使用以下命令在此数据集中添加一个元素:
tips = tips[0:19]
新值是16.97
现在很多事情都要改变了。
更新的数据集如下所示:
1 8.77
2 10.27
3 10.33
4 10.34
5 14.78
6 14.83
7 15.04
8 15.42
9 16.29
10 16.97
11 16.99
12 18.43
13 21.01
14 21.58
15 23.68
16 24.59
17 25.29
18 26.88
19 35.26
现在图表如下所示:
要理解这张图,什么时候进行人工计算是不令人信服的
Q2(Median): 16.97
Q1 Data:
9 values
[8.77, 10.27, 10.33, 10.34, 14.78, 14.83, 15.04, 15.42, 16.29]
Q1 Median: 14.78
Q3 Data:
10 values (Greater than or EQUAL TO MEDIAN add here)
[16.97, 16.99, 18.43, 21.01, 21.58, 23.68, 24.59, 25.29, 26.88, 35.26]
Q3 Median: 22.63
Min: 8.77
Max: 35.26
Interquartile Range(IQR): 7.85
Five Number Summary:
8.77, 14.78, 16.97, 22.63, 35.26
正如许多文章中所讨论的,晶须应为Q3+1.5*IQR
和Q1-1.5*IQR
,但这种情况不会发生:
1.5*7.85 = 11.775
For whisker with Q3:
22.63 + 11.775 = 34.405
所以,在图的右侧,胡须应该在max
34.405
处,但它在27处大约结束。我需要理解这一点,它是如何计算这个值的?或者我在手工计算中犯了什么错误?谢谢在您的第二个绘图中,存在影响计算的欧利埃
从中,您可以查看参数whis
:
whis:浮动,可选
IQR超过低四分位数和高四分位数的比例,以延长绘图范围
超出此范围的点将被识别为异常值
尝试为whis
(2.0
,5.0
,10.0
,…)使用较大的值,以便您的数据点始终位于四分位。在第二个图中有影响计算的欧利
从中,您可以查看参数whis
:
whis:浮动,可选
IQR超过低四分位数和高四分位数的比例,以延长绘图范围
超出此范围的点将被识别为异常值
尝试为whis
(2.0
,5.0
,10.0
,…)使用较大的值,以便您的数据点始终位于四分位。文档字符串有点误导。晶须不会延伸到计算值,但仅足以包含它们之间的所有点(不是异常值的点)。在这种情况下,它是26.88,因为35.26是一个异常值(超出Q3+1.5*IQR
)。文档字符串有点误导。晶须不会延伸到计算值,但仅足以包含它们之间的所有点(不是异常值的点)。在本例中,它是26.88,因为35.26是一个异常值(超出Q3+1.5*IQR
)。这看起来根本不像tips数据集。在我看来,这是一个bug。whis=1
、whis=1.5
和whis=1.6
的曲线图是相同的whis=1.7
的作用与whis=2
的作用相同。等等,不。胡须会一直延伸到最大数据点小于或等于Q3+whis*IQR
。这看起来根本不像tips数据集。在我看来像个bug。whis=1
、whis=1.5
和whis=1.6
的曲线图是相同的whis=1.7
的作用与whis=2
的作用相同。等等,否。胡须一直延伸到最大数据点小于或等于Q3+whis*IQR
。这看起来很有说服力。谢谢。这看起来很有说服力。谢谢。基本上问题是关于胡须的长度@高雄的答案看起来很有说服力。基本上问题是关于胡须的长度@高雄的回答看起来很有说服力。