
2クラスの得点分布を公平に比較します。
まず自分で予想してから、コードを動かしてみよう!

結果だけでなく、そう考えた理由も説明してみます。

QUESTION まず考えよう
平均点が近い2クラスでも、得点の集まり方は同じでしょうか?
PREDICT 実行前の予想
A組とB組のうち、ばらつきが大きそうな方を予想してください。
TRY 実行して確かめよう
TRY
import matplotlib.pyplot as plt
class_a = [58, 62, 65, 67, 68, 70, 71, 72, 74, 76, 78, 80]
class_b = [42, 48, 55, 60, 66, 70, 73, 78, 84, 88, 93, 98]
bins = range(40, 101, 10)
plt.hist(class_a, bins=bins, alpha=0.6, label='A組', edgecolor='black')
plt.hist(class_b, bins=bins, alpha=0.6, label='B組', edgecolor='black')
plt.xlabel('得点')
plt.ylabel('人数')
plt.legend()
plt.show()
グラフや数値のどこが予想と同じで、どこが違ったかを見つけましょう。
CHECK 結果を読み取ろう
山の位置と広がりを比べ、どちらが安定しているか答えてください。
📖 考え方を確認する
A組は中央付近に集まり、B組は低得点から高得点まで広がっています。そのためA組の方が得点は安定しています。
CHALLENGE 自分で直してみよう
2つのヒストグラムを上下に分け、同じ横軸で表示してください。
CHALLENGE
import matplotlib.pyplot as plt
class_a = [58, 62, 65, 67, 68, 70, 71, 72, 74, 76, 78, 80]
class_b = [42, 48, 55, 60, 66, 70, 73, 78, 84, 88, 93, 98]
bins = range(40, 101, 10)
# plt.subplotsを使って上下に表示しよう📖 解答例と解説
import matplotlib.pyplot as plt
class_a = [58, 62, 65, 67, 68, 70, 71, 72, 74, 76, 78, 80]
class_b = [42, 48, 55, 60, 66, 70, 73, 78, 84, 88, 93, 98]
bins = range(40, 101, 10)
fig, axes = plt.subplots(2, 1, figsize=(7, 6), sharex=True)
axes[0].hist(class_a, bins=bins, edgecolor='black')
axes[0].set_title('A組')
axes[1].hist(class_b, bins=bins, edgecolor='black', color='orange')
axes[1].set_title('B組')
axes[1].set_xlabel('得点')
plt.tight_layout()
plt.show()同じ階級と横軸を使うことで、形を公平に比較できます。
POINT
- 比較するときは階級をそろえる
- 中心だけでなく広がりも見る
- 重ねる方法と分ける方法がある
NEXT 次の学びへ

次は中央値とばらつきを箱ひげ図で簡潔に比べます。
振り返り:今回使った命令、結果から分かったこと、この方法を使える場面を、それぞれ1文で書きましょう。