ロジカ式ロゴ

Python
データ分析

ページ一覧に戻る
棒グラフ分析
渡辺先生

クラス別の図書貸出数から、事実に基づく提案を考えます。

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

そうた

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

ひな

QUESTION まず考えよう

読書週間で支援を厚くするクラスを選ぶなら、どのデータを根拠にしますか?

PREDICT 実行前の予想

貸出数が最も少ないクラスと、全体との差を予想してください。

TRY 実行して確かめよう

TRY
import matplotlib.pyplot as plt classes = ['1組', '2組', '3組', '4組'] books = [42, 28, 50, 35] plt.bar(classes, books, color='seagreen') plt.title('クラス別の図書貸出数') plt.ylabel('貸出数 (冊)') plt.show()
渡辺先生

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

CHECK 結果を読み取ろう

最も多いクラスと少ないクラス、その差を答えてください。

📖 考え方を確認する

3組が50冊で最も多く、2組が28冊で最も少ないため、差は22冊です。ただし、人数や集計期間も確認が必要です。

CHALLENGE 自分で直してみよう

平均貸出数を破線で追加し、平均未満のクラスを説明してください。

CHALLENGE
import matplotlib.pyplot as plt classes = ['1組', '2組', '3組', '4組'] books = [42, 28, 50, 35] average = sum(books) / len(books) plt.bar(classes, books, color='seagreen') # averageを使って横の破線を追加しよう

📖 解答例と解説

import matplotlib.pyplot as plt

classes = ['1組', '2組', '3組', '4組']
books = [42, 28, 50, 35]
average = sum(books) / len(books)

plt.bar(classes, books, color='seagreen')
plt.axhline(average, color='red', linestyle='--', label=f'平均 {average:.1f}冊')
plt.title('クラス別の図書貸出数')
plt.ylabel('貸出数 (冊)')
plt.legend()
plt.show()

平均は38.75冊なので、2組と4組が平均未満です。人数など別の条件を見ずに原因を決めつけないようにします。

POINT
  •  比較には基準線も役立つ
  •  差は引き算で具体的に示す
  •  公平な比較に必要な条件を考える

NEXT 次の学びへ

渡辺先生

次は全体に占める割合を円グラフで表します。

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