解説
実際のデータはCSV形式で配られることがよくあります。ここでは複数行の文字列をCSVデータと見立て、csv.DictReaderで1行ずつ辞書として読み込みます(各列に名前でアクセスできて便利)。
さらに collections.defaultdict を使って「クラスごと」にスコアをまとめ、グループ別の平均と人数、全体平均を集計します。
データの読み込み→グループ化→集計、というデータ分析の基本の流れを体験しましょう。
書き方
import csv / from io import StringIO / from collections import defaultdict — CSV解析・文字列のファイル化・初期値つき辞書を読み込む。 ・StringIO(文字列) — 複数行文字列をファイルのように扱う。 ・csv.DictReader(...) — 各行を列名キーの辞書として読み込む。row["列名"] でアクセス。 ・defaultdict(list) — 未登場キーに自動で空リストを用意し append() でまとめる。 ・sorted(辞書) でキーを並べ、sum(vals)/len(vals) で平均。内包表記で全件を平坦化。
書いて動かす
この回の課題
複数行のCSV文字列を DictReader で読み込み、クラスごとにスコアをまとめて、グループ別平均・人数と全体平均を集計しよう。
コードはあなたの端末の中だけで動きます(サーバーには送られません)。進み具合もこのブラウザに保存されます。
もっと本格的に使うなら
Windows版 InsightPy なら、書いたコードを保存して業務の自動化まで進められます。学習センターはずっと無料です。