並び替えとカラム名の整理
集計しただけだと少し見づらいので整えます。
summary.rename(columns={"amount": "total_amount"}, inplace=True)
summary = summary.sort_values(by="total_amount", ascending=False)
売上順に並び替えることで、重要な顧客が一目で分かります。
実務ではこの並び替えが意思決定に直結します。
Excelに出力する
最後にExcelへ出力します。
with pd.ExcelWriter("customer_summary.xlsx") as writer:
summary.to_excel(writer, sheet_name="顧客別集計", index=False)
この時点で、実務レベルのレポートが完成します。
CSV → 集計 → Excel出力まで、すべてPythonだけで完結しています。
処理時間も数秒レベルです。
実務で使うときのポイント
実務で使う場合は、いくつか意識しておくと楽になります。
- ファイル名を日付付きにする
- エンコーディング(utf-8 / cp932)を確認する
- 欠損データ(NaN)を事前に処理する
また、データが1万件、10万件と増えても同じコードで対応できます。
Excelより圧倒的に安定します。
SQL経験者ほどハマる書き方
正直なところ、SQLに慣れている人ほどpandasはすぐ理解できます。
groupbyはそのままGROUP BYですし、sumはSUMです。
違いは「テーブルではなくDataFrameを操作する」という点だけです。
一度この感覚をつかむと、Excelに戻れなくなります。
個人的には「軽いデータ分析ならSQLより速い」と感じています。
出典:いまにゅのAIプログラミング塾
まとめ
Pythonとpandasを使えば、CSV集計は非常にシンプルに実装できます。
read_csvで読み込み、groupbyで集計し、Excelに出力するだけです。
SQL感覚で書けるため、学習コストも低いのが特徴です。
まずは今回のコードをそのまま動かしてみると理解が一気に進みます。
小さなデータから始めて、徐々に実務データに広げていくのがおすすめです。
■参考リンク
https://pandas.pydata.org/docs/reference/api/pandas.read_csv.html
https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.groupby.html
※Python+Anacondaをインストール|PC作業を自動化する方法|2026年3月版