Ad

Pythonには標準でstatisticsという数理統計関数ライブラリが用意されています。

それを使うと、平均や標準偏差、中央値などさまざまな統計量が簡単に計算できます。

平均 anchor.png Edit

平均を求めるにはmeanを使います。

import statistics

data = [1,2,3,4,5]

print(statistics.mean(data))

結果:

3
Page Top

標準偏差 anchor.png Edit

標準偏差は母標準偏差(pstdev)と標本標準偏差(stdev)が両方用意されています。 母標準偏差はデータの個数で割るもの、標本標準偏差はデータの個数から1減じたもので割る方です。 詳細は略しますが、標本から母集団の統計量を推測するときには標本標準偏差を使うべきとされています。

Python​/正規分布に従う乱数を生成する」で紹介した「random.gauss」で、平均10、標準偏差2.5の正規分布に従うランダムなデータを1000個作成し、その平均と標準偏差を求めると以下のようになります。

import statistics
import random
m = 10
v = 2.5
n = 1000
data = []

for j in range(n):
    data.append(random.gauss(m,v))

print("平均\t\t",statistics.mean(data))
print("母標準偏差\t",statistics.pstdev(data))
print("標本標準偏差\t",statistics.stdev(data))

結果:

平均             9.961114639666533
母標準偏差       2.4024438913751966
標本標準偏差    2.403646014988765

乱数を使っているので値は実行するたびに変化しますが、平均10、標準偏差2.5に近い値が出ています。

また、母分散(pvariance)や標本標準分散(variance)も全く同様に求められます。

上の例のように、1000個ぐらいのデータなら、スペックの低いパソコンでもほぼ一瞬で答えが出ます。

しかし、もしもっと大量のデータを扱うなら、NumPyEditにも同様の関数があり、より高速なのでそちらを使うのがおすすめです。


Front page   Edit Freeze Diff Backup Upload Copy Rename ReloadPrint View   New Page Page list Search Recent changes   Help   RSS of recent changes (RSS 1.0) RSS of recent changes (RSS 2.0) RSS of recent changes (RSS Atom) Powered by xpWiki
Counter: 144, today: 5, yesterday: 0
Princeps date: 2019-06-14 (Fri) 23:19:04
Last-modified: 2019-06-15 (Sat) 19:55:10 (JST) (174d) by njf
広告

ログイン

ユーザー名:


パスワード:





パスワード紛失


NJF