您好,登錄后才能下訂單哦!
本節(jié)介紹 Python 中的另一個(gè)常用模塊 —— statistics模塊,該模塊提供了用于計(jì)算數(shù)字?jǐn)?shù)據(jù)的數(shù)理統(tǒng)計(jì)量的函數(shù)。它包含了很多函數(shù),具體如下表:
名稱 | 描述 |
---|---|
mean() | 數(shù)據(jù)的算術(shù)平均數(shù)(“平均數(shù)”) |
harmonic_mean() | 數(shù)據(jù)的調(diào)和均值 |
median() | 數(shù)據(jù)的中位數(shù)(中間值) |
median_low() | 數(shù)據(jù)的低中位數(shù) |
median_high() | 數(shù)據(jù)的高中位數(shù) |
median_grouped() | 分組數(shù)據(jù)的中位數(shù),即第50個(gè)百分點(diǎn) |
mode() | 離散的或標(biāo)稱的數(shù)據(jù)的單模 |
mean(data)函數(shù)
mean(data) 函數(shù)用于計(jì)算一組數(shù)字的平均值,參數(shù) data 可以是多種形式的,比如 int 型數(shù)組或 decimal 型數(shù)組等。舉例說明函數(shù)的具體用法:
>>> statistics.mean([1, 2, 3, 4, 5]) 3 >>> from fractions import Fraction as F >>> statistics.mean([F(4, 7), F(4, 21), F(5, 4), F(1, 4)]) Fraction(95, 168) >>> from decimal import Decimal as D >>> statistics.mean([D("0.5"), D("0.78"), D("0.88"), D("0.988")]) Decimal('0.787')
harmonic_mean(data)函數(shù)
調(diào)和平均數(shù)又稱倒數(shù)平均數(shù),是平均數(shù)的一種。 harmonic_mean(data) 函數(shù)用于求調(diào)和平均數(shù),是總體各統(tǒng)計(jì)變量倒數(shù)的算術(shù)平均數(shù)的倒數(shù)。例如:
>>> statistics.harmonic_mean([4, 5, 7]) 5.0602409638554215
median(data)函數(shù)
median(data) 函數(shù)用于計(jì)算一組數(shù)據(jù)的中值。如果數(shù)據(jù)的個(gè)數(shù)是單數(shù),則中值是中間的數(shù);如果數(shù)據(jù)的個(gè)數(shù)是復(fù)數(shù),則中值是中間兩個(gè)數(shù)的平均數(shù)。例如:
>>> statistics.median([1, 4, 7]) 4 >>> statistics.median([1, 4, 7, 10]) 5.5 median_low(data)函數(shù) median_low(data) 函數(shù)用于計(jì)算一組數(shù)據(jù)的中小值。如果數(shù)據(jù)的個(gè)數(shù)是單數(shù),則中小值是中間的數(shù);如果數(shù)據(jù)的個(gè)數(shù)是復(fù)數(shù),則中小值是中間兩個(gè)數(shù)中最小的數(shù)。例如: >>> statistics.median_low([1, 4, 7]) 4 >>> statistics.median_low([1, 4, 7, 10]) 4
median_high(data)函數(shù)
median_high(data) 函數(shù)用于計(jì)算一組數(shù)據(jù)的中大值。如果數(shù)據(jù)的個(gè)數(shù)是單數(shù),則中大值是中間的數(shù);如果數(shù)據(jù)的個(gè)數(shù)是復(fù)數(shù),則中大值是中間兩個(gè)數(shù)中最大的數(shù)。例如:
>>> statistics.median_high([1, 4, 7]) 4 >>> statistics.median_high([1, 4, 7, 10]) 7 median_grouped(data, interval=1)函數(shù) median_grouped(data, interval=1) 函數(shù)用于計(jì)算分組連續(xù)數(shù)據(jù)的中位數(shù)。其中 interval 表示數(shù)據(jù)之間的間隔,即組距。此函數(shù)計(jì)算方法較復(fù)雜,可參考公式 中位數(shù)=中位數(shù)所在組下限+{[(樣本總數(shù)/2-到中位數(shù)所在組下限的累加次數(shù))/中位數(shù)所在組的次數(shù)]*中位數(shù)的組距} ,如果數(shù)據(jù)是空的會(huì)報(bào) StatisticsError 錯(cuò)誤。例如: >>> statistics.median_grouped([1, 2, 2, 3, 4, 4, 4, 4, 4, 5]) 3.7 >>> statistics.median_grouped([3, 4, 4, 5, 6], interval=1) 4.25 >>> statistics.median_grouped([1, 3, 5, 5, 7], interval=2) 4.5
示例說明:
[1, 2, 2, 3, 4, 4, 4, 4, 4, 5]中位數(shù)在4這個(gè)分組里面
默認(rèn)組距為1
所在分組的下限為3.5
樣本總數(shù)為10
4分組里有5個(gè)數(shù)
小于3.5的有4個(gè)數(shù)
所以中位數(shù)為:3.5+(10/2-4)/5*1=3.5+1/5=3.7
mode(data)函數(shù)
mode(data) 函數(shù)用于計(jì)算一組數(shù)據(jù)的眾數(shù),即在數(shù)據(jù)中出現(xiàn)次數(shù)最多的數(shù)。例如:
>>> statistics.mode([1, 1, 2, 3, 3, 3, 3, 4]) 3 >>> statistics.mode(["red", "blue", "blue", "blue", "green", "green", "red"]) 'blue'
總結(jié)
本節(jié)給大家介紹了 Python 中 statistics 模塊的常用操作,在實(shí)際開發(fā)中方便對(duì)數(shù)據(jù)進(jìn)行靈活的處理,對(duì)于實(shí)現(xiàn)數(shù)據(jù)統(tǒng)計(jì)的功能提供了支撐。
示例代碼: Python-100-days-day043
以上所述是小編給大家介紹的詳解python statistics模塊及函數(shù)用法,希望對(duì)大家有所幫助!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。