溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

詳解python statistics模塊及函數(shù)用法

發(fā)布時(shí)間:2020-09-22 04:39:08 來源:腳本之家 閱讀:220 作者:Just Do Python 欄目:開發(fā)技術(shù)

本節(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ì)大家有所幫助!

向AI問一下細(xì)節(jié)

免責(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)容。

AI