共通テスト(2024年)
大学入試センター令和6年度 試験情報データ(本試験)で2024年の共通テスト各科目の度数分布が公開されたので、グラフにしてみる。一部科目は3点刻み。オレンジの線は、平均・標準偏差が同じ正規分布。
ソース:
import numpy as np import matplotlib.pyplot as plt import pandas as pd from scipy import stats def hist(basename, title, smooth=None): df = pd.read_csv(basename + ".csv") maxscore = np.max(df["点数"]) n = np.sum(df["人数"]) mean = np.sum(df["人数"] * df["点数"]) / n sqmean = np.sum(df["人数"] * df["点数"]**2) / n sd = np.sqrt(sqmean - mean**2) x = np.arange(0, maxscore + 1, max(1, maxscore / 100)) y = n * stats.norm.pdf(x, loc=mean, scale=sd) if smooth is not None: df["人数"] = df["人数"].astype(float) for i in range(0, maxscore + 1, smooth): m = np.mean(df["人数"][i:i+smooth]) for j in range(smooth): df.loc[i+j, "人数"] = m plt.clf() cmap = plt.get_cmap("tab20") plt.bar(df["点数"], df["人数"], width=1.08, color=cmap(1)) plt.xlabel("点数") plt.ylabel("人数") plt.plot(x, y, color=cmap(2), lw=2) plt.title(title) plt.savefig("dnc2024_" + basename + ".svg", bbox_inches="tight") hist("kokugo", "国語") hist("chireki", "地理歴史", 3) hist("sekaishi_b", "世界史B", 3) hist("nihonshi_b", "日本史B", 3) hist("chiri_b", "地理B", 3) hist("koumin", "公民", 3) hist("suu1a", "数学I・A") hist("suu2b", "数学II・B") hist("reading", "英語(リーディング)") hist("listening", "英語(リスニング)")