度数分布表を表示するPythonコード

データから度数分布表をPythonで出力してみよう。

Pythonコード

numpyhistogram()関数を使い, 度数分布を作成する。

histogram(データ, 階級の上限)で指定する。データはリスト形式でデータを入力し, 階級の上限はリスト形式で階級の上限値(階級には含まない)を入力する。

histogram()の戻り値は, 度数と階級の上限値であるので, これらを並べて度数分布表を作成する。

入力例. データdataを, 階級が $51 \sim 60$, $61 \sim 70$, $\cdots$, $91 \sim 100$ となる度数分布表を作成する。

import numpy as np

data = [
    87, 74, 79, 92, 85, 67, 67, 93, 73, 70,
    69, 85, 72, 70, 79, 65, 65, 56, 73, 60,
    81, 68, 69, 85, 77, 64, 73, 72, 88, 64,
    76, 80, 79, 78, 58, 78, 69, 76, 67, 88,
    65, 90, 66, 83, 89, 67, 84, 82, 79, 71
]

# 階級の上限
bins = [51, 61, 71, 81, 91, 101] 

hist, edges = np.histogram(data, bins=bins)

for i in range(len(hist)):
    print(f"{edges[i]}-{edges[i+1]-1}: {hist[i]}")

np.histogram(data, bins=bins)の戻り値は, 次のようになる。

1つ目の戻り値が度数でhistとして受け取り, 2つ目の戻り値が階級の上限でedgesとして受け取り, これらから表を作っている。

コメントを残す