通过示例了解 Seaborn 箱线图
Understanding Seaborn Boxplot With Examples
我正在尝试使用一些示例数据集来理解 seaborn 箱线图。因此,使用 "tips" 数据集。
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
因此,在图的右侧,胡须的最大值应为 34.405
,但它在 27 approx
处结束。我需要了解这一点它是如何计算这个值的?或者我在手动计算中犯了任何错误?谢谢
在你的第二个情节中有离群值,这会影响计算。
从 docs,您可以查看参数 whis
:
whis : float, optional
Proportion of the IQR past the low and high quartiles to extend the plot whiskers.
Points outside this range will be identified as outliers.
尝试 whis
(2.0
、5.0
、10.0
、...)的较大值,以便您的数据点始终落入四分位数。
文档字符串有点误导。胡须不会扩展到计算值,但足以包含它们之间的所有点(不是异常值的点)。在这种情况下,它是 26.88,因为 35.26 是异常值(超出 Q3 + 1.5 * IQR
)。
我正在尝试使用一些示例数据集来理解 seaborn 箱线图。因此,使用 "tips" 数据集。
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
因此,在图的右侧,胡须的最大值应为 34.405
,但它在 27 approx
处结束。我需要了解这一点它是如何计算这个值的?或者我在手动计算中犯了任何错误?谢谢
在你的第二个情节中有离群值,这会影响计算。
从 docs,您可以查看参数 whis
:
whis : float, optional
Proportion of the IQR past the low and high quartiles to extend the plot whiskers.
Points outside this range will be identified as outliers.
尝试 whis
(2.0
、5.0
、10.0
、...)的较大值,以便您的数据点始终落入四分位数。
文档字符串有点误导。胡须不会扩展到计算值,但足以包含它们之间的所有点(不是异常值的点)。在这种情况下,它是 26.88,因为 35.26 是异常值(超出 Q3 + 1.5 * IQR
)。