|
1: 2019-06-14 (金) 23:19:04 njf |
| + | Pythonには標準でstatisticsという数理統計関数ライブラリが用意されています。 |
| | | |
| + | それを使うと、平均や標準偏差、中央値などさまざまな統計量が簡単に計算できます。 |
| + | |
| + | *平均 [#i983fcef] |
| + | |
| + | 平均を求めるにはmeanを使います。 |
| + | |
| + | import statistics |
| + | |
| + | data = [1,2,3,4,5] |
| + | |
| + | print(statistics.mean(data)) |
| + | |
| + | 結果: |
| + | 3 |
| + | |
| + | *標準偏差 [#e9f8f1bb] |
| + | |
| + | 標準偏差は母標準偏差(pstdev)と標本標準偏差(stdev)が両方用意されています。 |
| + | |
| + | 「[[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 |
| + | |
| + | 乱数を使っているので値は実行するたびに変化しますが、だいたい正しい値が出ています。 |