ロジカ式ロゴ

Python
データ分析

ページ一覧に戻る
Lesson 7 箱ひげ図
渡辺先生

中央値とデータの広がりを1つの図で捉えます。

まず自分で予想してから、コードを動かしてみよう!

そうた

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

ひな

QUESTION まず考えよう

平均点が同じなら、2つのクラスの学習状況も同じといえるでしょうか?

箱ひげ図で中央値、中央50パーセント、広がりを読む順序

このグラフで分かること・読み方

  1. 箱ひげ図は、複数の集団の中心と散らばりを短く比較できるグラフです。
  2. 箱の中の中央値、箱が表す中央50%、ひげを順に確認します。
  3. 中央値が同じでも、箱やひげの長さが違えばデータの散らばりは異なります。

PREDICT 実行前の予想

どちらのデータが広く散らばっているか、数値から予想してください。

TRY 実行して確かめよう

TRY
import matplotlib.pyplot as plt class_a = [60, 64, 67, 69, 70, 72, 74, 76, 78] class_b = [40, 52, 61, 68, 70, 79, 86, 93, 100] plt.boxplot([class_a, class_b], labels=['A組', 'B組']) plt.ylabel('得点') plt.title('2クラスの得点分布') plt.grid(axis='y') plt.show()
渡辺先生

グラフや数値のどこが予想と同じで、どこが違ったかを見つけましょう。

CHECK 結果を読み取ろう

中央値と箱の長さを比較し、同じ点と違う点を答えてください。

📖 考え方を確認する

中央値はどちらも70点です。一方、B組の箱とひげは長く、得点のばらつきが大きいです。

CHALLENGE 自分で直してみよう

C組のデータを追加し、3クラスを比較してください。

CHALLENGE
import matplotlib.pyplot as plt class_a = [60, 64, 67, 69, 70, 72, 74, 76, 78] class_b = [40, 52, 61, 68, 70, 79, 86, 93, 100] class_c = [72, 74, 75, 77, 78, 79, 80, 81, 83] # class_cを加えた箱ひげ図を描こう

📖 解答例と解説

import matplotlib.pyplot as plt

class_a = [60, 64, 67, 69, 70, 72, 74, 76, 78]
class_b = [40, 52, 61, 68, 70, 79, 86, 93, 100]
class_c = [72, 74, 75, 77, 78, 79, 80, 81, 83]

plt.boxplot([class_a, class_b, class_c], labels=['A組', 'B組', 'C組'])
plt.ylabel('得点')
plt.title('3クラスの得点分布')
plt.grid(axis='y')
plt.show()

C組は中央値が高く、箱も比較的短いので、高い得点にまとまっています。

POINT
  •  中央線は中央値を表す
  •  箱やひげの長さで広がりを見る
  •  平均だけでは分布の違いを見落とす

NEXT 次の学びへ

渡辺先生

練習問題では、目的に応じて『高い』と『安定』を分けて判断します。

振り返り:今回使った命令、結果から分かったこと、この方法を使える場面を、それぞれ1文で書きましょう。