Pythonを使って偏差値を計算しよう
前回はExcelを使って偏差値を計算しました。
今回はPythonを使って偏差値を計算してみましょう。
平均値を計算する
Pythonで平均値や偏差値を求めるには、数値統計関数ライブラーのstatisticsをインポートします。
平均値を求めるには、statistics.mean()を使います。
statistics.mean
statistics.mean(リスト)
点数が100点と0点の場合の平均値を求めるには、以下のようにします。
標準出力に「50」と表示されます。
実行例
>>> statistics.mean([100,0])
50
標準偏差を計算する
標準偏差を求めるには、statistics.pstdev()を使います。
statistics.pstdev
statistics.pstdev(リスト)
点数が100点と0点の場合の標準偏差を求めるには、以下のようにします。
標準出力に「50.0」と表示されます。
実行例
>>> statistics.pstdev([100,0])
50.0
偏差値を計算する
Pythonで偏差値を求めるには、上記のstatistics.mean()とstatistics.pstdev()を組み合わせます。
100点の人の偏差値を求めるには、以下のようにします。
標準出力に「60.0」と表示されます。
実行例
>>> 50+10*((100-50)/50.0)
60.0
偏差値を計算するプログラム
偏差値を計算するプログラムは、以下のようになります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
### インポート import statistics ### 辞書 dic = {"A君":100,"B君":0} ### 平均点 ave = statistics.mean(dic.values()) ### 標準偏差 val = statistics.pstdev(dic.values()) ### ヘッダ print("{} {} {}".format("氏名","点数","偏差値")) print("{} {} {}".format("----","----","------")) ### 各人の偏差値 for name,point in dic.items(): dev = 50+10*((point-ave)/val) print("{:<3} {:>4d} {:>6d}".format(name, point, round(dev))) |
プログラムを実行すると、以下のように出力します。
実行例
> python math1-1.py
氏名 点数 偏差値
---- ---- ------
A君 100 60
B君 0 40