Python中的數學統計函式


Python 庫的 statistics 模組包含用於使用數值資料型別(包括分數和十進位制型別)計算統計公式的函式。

要使用本文中描述的函式,需要以下匯入語句。

>>> from statistics import *

以下函式計算樣本資料的集中趨勢。

mean() − 此函式計算序列或迭代器形式的資料的算術平均值。

>>> from statistics import mean
>>> numbers = [12,34,21,7,56]
>>> mean(numbers)
26

樣本資料可能包含 Decimal 物件或 Fraction 物件

>>> from decimal import Decimal
>>> numbers = [12,34,21,Decimal('7'),56]
>>> mean(numbers)
Decimal('26')
>>> from fractions import Fraction
>>> numbers = [12,20.55,Fraction(4,5),21,56]
>>> mean(numbers)
22.07

harmonic_mean() − 調和平均數是透過取樣本資料中元素倒數的算術平均值,然後取算術平均值本身的倒數來計算的。

樣本 = [1,2,3,4,5]

倒數 = [1/1, 1/2, 1/3, 1/4, 1/5] = 2.28333333333

平均數 = 2.28333333333/5 = 0. 45666666666666667

調和平均數 = 1 / 45666666666666667 = 2.189784218663093

>>> harmonic_mean([1,2,3,4,5])
2.18978102189781

median() − 中位數是樣本資料的中值。資料會自動按升序排列以查詢中位數。如果元素的個數為奇數,則中位數為中間值。如果個數為偶數,則兩個中間數的平均數為中位數。

>>> median([2,5,4,8,6])
5
>>> median([11,33,66,55,88,22])
44.0

mode() − 此函式返回樣本中最常見的值。此函式可以應用於數值或非數值資料。

>>> mode((4,7,8,4,9,7,12,4,8))
4
>>> mode(['cc','aa','dd','cc','ff','cc'])
'cc'

以下函式處理樣本中元素相對於中心值的離散程度的度量。

variance() − 此函式反映樣本中資料的可變性或離散程度。方差越大,資料越分散。方差越小,表示資料越集中。

以下是查詢方差的過程

  • 找到樣本中所有元素的算術平均值。
  • 找到平均值和每個元素之間差值的平方,並將平方相加。
  • 如果樣本大小為 n,則將總和除以 n-1 以獲得方差

在數學上,上述過程由以下公式表示:

$$s^2 = \frac{1}{n-1}\displaystyle\displaystyle\sum\limits_{i=1}^n(x_{i}-\overline{x})^2$$


值得慶幸的是,variance() 函式為您完成了上述公式的計算。

>>> num = [4, 9, 2, 11, 5, 22, 90, 32, 56, 70]
>>> variance(num)
981.2111111111111

stdev() − 此函式返回樣本中資料的標準差。標準差是方差的平方根。

>>> num = [4, 9, 2, 11, 5, 22, 90, 32, 56, 70]
>>> stdev(num)
31.324289474960338

更新於: 2020-06-30

491 次瀏覽

啟動你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.