箱形圖(python畫圖)

茫茫人海一粒沙發表於2021-01-01

1. 什麼是箱型圖

如下灰色框裡的就是箱形圖(英文:Box plot):又稱為盒須圖、盒式圖、盒狀圖或箱線圖,是一種用作顯示一組資料分散情況資料的統計圖。因型狀如箱子而得名。

箱形圖最大的優點就是不受異常值的影響,可以以一種相對穩定的方式描述資料的離散分佈情況。

五數概括法:即用下面的五個數來概括資料(最小值;第1四分位數(Q1);中位數(Q2);第3四分位數(Q3);最大值),箱形圖與之類似。
在這裡插入圖片描述

2. 用Python畫圖

import pandas as pd
import matplotlib.pyplot as plt

data = [1, 2, 3, 4, 5, 6, 7, 8]

df = pd.DataFrame(data)
print(df.describe())
df.plot.box(title="Box Chart")
plt.grid(linestyle="--", alpha=0.3)
plt.show()
             0
count  8.00000 # 條數
mean   4.50000   # 均值
std    2.44949 # 標準差
min    1.00000  # 最小值
25%    2.75000  # 下四分位
50%    4.50000   # 中位數
75%    6.25000   # 上四分位
max    8.00000  # 最大值

在這裡插入圖片描述
中位數Q2=4.5

下四分分位數Q1=2.75:是怎麼計算出來的呢?首先序列長度n=8,(1+n)/4=2.25,說明上四分位數在第2.25個位置數,實際上這個數是不存在的,但我們知道這個位置是在第2個數與第3個數之間的。假設從第2個數到第3個數之間是均勻分佈的。那麼第2.25個數就是第二個數0.25+第三個數0.75,即20.25+30.75=0.5+2.25=2.75。
下四分位數Q3=6.25:這個下四分位數所在位置計算方法同上,只不過是(1+n)/43=6.75,這個是個介於第六個位置與第七個位置之間的地方。對應的具體的值是0.756+0.25*7=6.25。

四分位距IQR=Q3-Q1,上限=(Q3+1.5IQR,max)取最小,下限=(Q1-1.5IQR ,min)取最大。

異常值:比如num=[1,2,3,4,5,6,7,8,20],20會被識別為異常值。

import pandas as pd
import matplotlib.pyplot as plt

data = [1, 2, 3, 4, 5, 6, 7, 8, 20]

df = pd.DataFrame(data)
print(df.describe())
df.plot.box(title="Box Chart")
plt.grid(linestyle="--", alpha=0.3)
plt.show()

在這裡插入圖片描述

相關文章