3.3.1 Pandas ロードマップ:生の表から分析用テーブルへ
Pandas は、このコースの表データ作業台です。CSV、Excel、ログ表、SQL の結果を、グラフや機械学習に渡せる形へ整えるときに使います。
まずワークフローを見る
Section titled “まずワークフローを見る”
まずこの流れを覚えます。
読み込み確認抽出クリーニング変換集計結合出力
最初から API を全部覚えようとしなくて大丈夫です。今ある表は何か、必要な表は何か、どの手順で変わるのかを見ます。
小さな表を一度動かす
Section titled “小さな表を一度動かす”pandas_first_loop.py を作り、pandas をインストールしてから実行します。
import pandas as pd
orders = pd.DataFrame( [ {"date": "2026-05-01", "category": "book", "amount": 120}, {"date": "2026-05-02", "category": "tool", "amount": 80}, {"date": "2026-05-03", "category": "book", "amount": None}, {"date": "2026-06-01", "category": "book", "amount": 150}, ])
clean = ( orders.dropna(subset=["amount"]) .assign(month=lambda df: pd.to_datetime(df["date"]).dt.to_period("M").astype(str)))summary = clean.groupby(["month", "category"], as_index=False)["amount"].sum()
print(summary)出力の形:
month category amount0 2026-05 book 120.01 2026-05 tool 80.02 2026-06 book 150.0これは Pandas の基本ループです。データを作る/読む、欠損を落とす、列を追加する、グループ化して集計する、という流れです。
このページを終えたら、この evidence card を残します。
- データフレーム状態
- 列、dtype、行数、欠損値、サンプル行
- 操作
- read/write、select/filter、clean、transform、groupby、merge、または時系列処理
- 出力
- resulting table、保存ファイル、aggregation、join結果、または時系列インデックスビュー
- 失敗確認
- dtype 不一致、欠損データ、重複キー、チェーン代入、または誤った時間頻度
- 期待される成果
- 前後の表サンプルと、変換理由
この順番で学ぶ
Section titled “この順番で学ぶ”| 順番 | 読む | 練習すること |
|---|---|---|
| 1 | 3.3.2 コアデータ構造 | Series、DataFrame、Index |
| 2 | 3.3.3 データの読み書き | CSV、Excel、JSON、出力 |
| 3 | 3.3.4 選択とフィルタリング | loc、iloc、条件抽出 |
| 4 | 3.3.5 データクリーニング | 欠損値、重複、型 |
| 5 | 3.3.6 データ変換 | 新しい列、マッピング、文字列/日付処理 |
| 6 | 3.3.7 グループ化と集計 | groupby、指標、カテゴリ/月別集計 |
| 7 | 3.3.8 データ結合 | 複数テーブルを安全に結合する |
| 8 | 3.3.9 時系列 | 日付インデックス、リサンプリング、時間窓 |
生の表をきれいな集計表に変え、各列をなぜ処理したか説明でき、可視化や機械学習へ渡せるなら、この小節は合格です。
確認の考え方と解説
- 合格レベルの答えでは、問いを先に定義し、必要な table、DataFrame、または SQL query と、再現できるクリーニング手順を示します。
- 証拠には、小さな出力例、必要に応じた図表や query 結果、そして結果を解釈する一文を残します。
- 欠損値、重複行、誤った join、集計の誤解、読みにくい可視化など、少なくとも1つのデータ品質リスクを説明できれば十分です。