seaborn中boxplot各值計算方法

最近在看特徵工程,其中用到了seaborn中的boxplot,發現和按照網上的四分位數算法得出的結果不太一樣,經過摸索總結如下:

import seaborn as sns
import matplotlib.pyplot as plt

x = [1,3,3.2,7,8,8.1,19]
#求四分位數
#n爲奇數[1,3,3.2,7,8,8.1,19]則:先求中位數[7];上四分位數,先有包括中位數後數列[7,8,8.1,19],求中位數得(8+8.1)/2=8.05;同理下四分位數(3+3.2)/2=3.1
#n爲偶數[1,3,3.2,7,8,8.1,12,19]則:先求中位數(7+8)/2=7.5;再求Q1,位置(n+1)/4=(8+1)/4=2.25,Q1=3*0.25+3.2*0.75=3.15;
#同理Q2,位置3(n+1)/4=3(8+1)/4=6.75,Q2=8.1*0.75+12*0.25=9.075

#IQR(Inter-Quartile Range)=Q3-Q1
#上限爲數列中不超過Q3+1.5*IQR的最大值,下限爲數列中不小於Q1-1.5*IQR的最小值
sns.boxplot(data=x,orient='v')

plt.show()

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章