Python でデータ整形: pandas で汚れた売上 CSV を集計できる形にする

日付の書式違い、全角数字、通貨記号つきの金額、空欄、重複行が混ざった売上 CSV を pandas で整形し、テストで確認しながら集計可能なデータにします。データ分析の実務で最も時間を使う「前処理」の練習です。

入門約 60 分Azure 実環境

ラボ概要

このラボでは、営業各所から集めた「そのままでは集計できない」売上 CSV を、pandas で整形します。分析やダッシュボードの土台になる前処理を、テストで確認しながら進めるのが目的です。

ブラウザで開く IDE と JupyterLab が用意されており、Python と pandas はインストール済みです。

学習目標:

  • JupyterLab または IDE で CSV を読み込み、汚れの種類を把握する
  • 日付の書式を揃えて datetime 型にする
  • 全角数字・空白・通貨記号を正規化して数値型にする
  • 空欄の補完(fillna)と重複行の削除(drop_duplicates)を行う
  • groupby で地域別の売上合計を出す
  • pytest で整形結果を機械的に確認する
前提知識:
  • Python の基本(関数・文字列操作)
  • pandas の read_csv / 列の選択
完了条件:
  • clean.py の clean() がテストに合格すること
  • sales_clean.csv が 28 行で、売上合計が 3,129,800 になること

ラボの構成

  1. 1ブラウザ IDE を開いてデータを眺める
  2. 2まず「壊れたまま」テストを走らせる
  3. 3日付を datetime にする
  4. 4数量と単価を整数にする
  5. 5製品名の空白と地域の空欄を直す
  6. 6重複を除いて保存する
  7. 7地域別の売上合計を出す
  8. 8判定を実行する
  9. 9結果を考察する

詳細な手順は、ラボ開始後に画面内のガイドとして表示されます。

手順のプレビュー(最初のステップ)

1. ブラウザ IDE を開いてデータを眺める

  • ラボ画面の ブラウザ IDE を開く をクリックし、表示されているパスワードでサインインする
  • エクスプローラーの README.md を開いて課題を確認し、sales_raw.csv を開いて中身を眺める
  • 次のような汚れがあることを確認する: 日付の書式が 2026/04/03 2026-04-05 2026.04.08 と混在、数量に全角数字 3 や前後の空白、単価が ¥32,000 や 2,400円、製品名の末尾の空白、地域の空欄、同じ行の重複
> 注: JupyterLab で眺めたい場合はラボ画面の JupyterLab を開く から開き、新しいノートブックで import pandas as pd; pd.read_csv("sales_raw.csv") を実行します。
残り 8 セクションの手順は、ラボを開始すると画面内に表示されます

構成図

構成図

参考リソース

このラボが対応する試験の模擬問題集

本番形式の問題で理解度を確認できます。各試験とも先頭 15 問は無料です。

DP-900Azure Data Fundamentals練習テスト 2 回・全 160 問