⑴ 使用Numpy和Scipy的四分位距和四分位偏差
四分位數是分位數的一種,包括第一四分位數(Q1)、第二四分位數(Q2)和第三四分位數(Q3)。Q1是數據集最小值和中位數之間的中間數,Q2即中位數,Q3是數據集最大值和中位數之間的中間數。查找四分位數時,若數據集數量為偶數,Q1為最小數據集的中位數,Q3為最大數據集的中位數;若數據集數量為奇數,Q1和Q3分別為中心的n個數據的中位數,Q2與普通中位數相同。范圍是數據集最大值和最小值的差值。
四分位距(IQR)是Q3與Q1之間的差異,表示分布中心的50%觀測值。IQR值越高,數據變異性越大;值越低,數據更穩定。若比較兩個數據集的IQR,IQR值大的數據集變異性更大,因此更不優選。通過計算給定數據集的Q1、Q3,可以計算IQR。
舉例說明,以每日打卡人數為例,首先對數據進行排序。計算Q2(中位數)、Q1(前一半數據的中位數)、Q3(後一半數據的中位數),得到IQR = Q3 - Q1。
在python中,可以使用numpy庫的median函數計算四分位數、使用percentile函數計算IQR,使用scipy庫的stats模塊的iqr函數計算四分位距。使用這些方法分別得到Q1、Q3和IQR。
四分位偏差是IQR的一半,即(Q3-Q1)/2,表示分布中心的變異性。
通過以上步驟,使用Python中的numpy和scipy庫,可以准確計算出數據集的四分位數、IQR和四分位偏差,以評估數據的分布和變異性。在數據分析和決策制定中,四分位數和相關統計量提供了對數據集的深入理解,幫助我們做出基於數據的合理判斷。
⑵ python pandas的describe的25%是什麼意思
25%, 50%和75%是對應的四分位數。
四分位數(Quartile)是指在統計學中把所有數值由小到大排列並分成四等份,處於三個分割點位置的數值。
第一四分位數 (Q1),又稱「較小四分位數」,等於該樣本中所有數值由小到大排列後第25%的數字。
第二四分位數 (Q2),又稱「中位數」,等於該樣本中所有數值由小到大排列後第50%的數字。
第三四分位數 (Q3),又稱「較大四分位數」,等於該樣本中所有數值由小到大排列後第75%的數字。
第三四分位數與第一四分位數的差距又稱四分位距(InterQuartile Range,IQR)。
⑶ Python數據可視化 箱線圖
Python數據可視化:箱線圖
一、箱線圖概念
箱形圖(Box-plot)又稱為盒須圖、盒式圖或箱線圖,是一種用作顯示一組數據分散情況資料的統計圖。
計算過程:
(1)計算上四分位數(Q3),中位數,下四分位數(Q1)
(2)計算上四分位數和下四分位數之間的差值,即四分位數差(IQR,interquartile range)Q3-Q1
(3)繪制箱線圖的上下范圍,上限為上四分位數,下限為下四分位數。在箱子內部中位數的位置繪制橫線。
(4)大於上四分位數1.5倍四分位數差的值,或者小於下四分位數1.5倍四分位數差的值,劃為異常值(outliers)。
(5)異常值之外,最靠近上邊緣和下邊緣的兩個值處,畫橫線,作為箱線圖的觸須。
(6)極端異常值,即超出四分位數差3倍距離的異常值,用實心點表示;較為溫和的異常值,即處於1.5倍-3倍四分位數差之間的異常值,用空心點表示。
(7)為箱線圖添加名稱,數軸等
二、四分位數的計算
分位數根據其將數列等分的形式不同可以分為中位數,四分位數,十分位數、百分位數等等。四分位數作為分位數的一種形式,在統計中有著十分重要的意義和作用,而大多數的統計學原理教材只介紹其基本含義,對其具體計算,尤其是由組距數列計算都不作介紹,成為統計學原理教材中的空白。那麼,如何根據數列計算四分位數呢?一般來講,視資料是否分組而定。
1、根據未分組的資料計算四分位數
第一步:確定四分位數的位置
四分位數是將數列等分成四個部分的數,一個數列有三個四分位數,設下分位數、中分位數和上分位式中n表示資料的項數
第二步:根據第一步所確定的四分位數的位置,確定其相應的四分位數。
例1:某車間某月份的工人生產某產品的數量分別為13、13.5、13.8、13.9、14、14.6、14.8、15、15.2、15.4、15.7公斤,則三個四分位數的位置分別為:
即變數數列中的第三個、第六個、第九個工人的某種產品產量分別為下四分位數、中位 數和上四分位數。即:
Q1 =13.8公斤、Q2=14.6公斤、Q3=15.2公斤
上例中(n+1)恰好為4的倍數,所以確定四分數較簡單,如果(n+1)不為4的整數倍數,按上述分式計算出來的四分位數位置就帶有小數,這時,有關的四分位數就應該是與該小數相鄰的兩個整數位置上的標志值的平均數,權數的大小取決於兩個整數位置距離的遠近,距離越近,權數越大,距離越遠,權數越小,權數之和等於1。
例2:某車間某月份的工人生產某產品的數量分別為13、13.5、13.8、13.9、14、14.6、14.8、15、15.2、15.4公斤,則三個四分位數的位置分別為:
即變數數列中的第2.75項、第5.5項、第8.25項工人的某種產品產量分別為下四分位 數、中位數和上四分位數。即:
在實際資料中,由於標志值序列中的相鄰標志值往往是相同的,因而不一定要通過計算才能得到有關的四分位數。
2、由組距式數列確定四分位數
第一步,向上或向下累計次數.
第二步,根據累計次數確定四分位數的位置.
(1)、當採用向上累計次數的資料確定四分位數時,四分位數位置的公式是:
(2)、當採用向下累計次數的資料確定四分位數時,四分位數位置的公式是:
第三步,根據四分位數的位置算出各四分位數.
(1)、當累計次數是向上累計時,按下限公式計算各四分位數.
(2)、當累計次數是向下累計時,按上限公式計算各四分位數.
例3:某企業職工按月工資的分組資料如下:
根據上述資料確定某企業職工的月工資的三個四分位數如下:
(1)、採用向上累計職工人數的資料得月工資四分位數的位置為:
(2)、採用向下累計職工人數的資料得月工資四分位數的位置為:
3、異常值
異常值:限制線以外的數據全部為異常值
三、畫圖
# Python
import plotly.plotly
import plotly.graph_objs as go
data = [
go.Box(
y=[0, 1, 1, 2, 3, 5, 8, 13, 21] # 9個數據
)
]
plotly.offline.plot(data) # 離線繪圖