コラム Claude Code入門 更新:

Claude Codeでデータ分析・可視化をする方法!PandasとMatplotlibを使った分析を自動化

Claude Codeでデータ分析・可視化をする方法!PandasとMatplotlibを使った分析を自動化
目次 (23項目)
  1. 1. はじめに
  2. 2. 目次
  3. 3. 1. データ分析でのClaude Code活用
  4. データを見せるだけで分析が始まる
  5. Jupyterとの連携
  6. 4. 2. データの読み込みと探索的分析
  7. 基本的なEDAの実行
  8. 複数ファイルの結合
  9. 5. 3. データクリーニングの自動化
  10. 自動クリーニング
  11. 6. 4. 集計・分析の実装
  12. 売上分析
  13. A/Bテストの分析
  14. 7. 5. Matplotlib・Seabornによる可視化
  15. 分析用グラフの一括生成
  16. プレゼン用の高品質グラフ
  17. 8. 6. インタラクティブなダッシュボード作成
  18. Plotlyでのインタラクティブグラフ
  19. 9. 7. 分析レポートの自動生成
  20. JupyterノートブックからPDFレポート
  21. 定期レポートの自動生成スクリプト
  22. 10. 8. まとめ
  23. 11. よくある質問(FAQ)

はじめに

「Pandasのコードを毎回ゼロから書くのが大変」

「データを見ながら分析を進めたいが、コードのデバッグで時間を取られる」

「グラフをきれいに仕上げるのに時間がかかる」

データ分析はExploratory Data Analysis(EDA)の繰り返しが多く、同じようなコードを書き直すことが多いです。Claude Codeを使えば、データの内容を見せるだけで適切な分析・可視化コードを自動生成できます。

目次

  1. データ分析でのClaude Code活用
  2. データの読み込みと探索的分析
  3. データクリーニングの自動化
  4. 集計・分析の実装
  5. Matplotlib・Seabornによる可視化
  6. インタラクティブなダッシュボード作成
  7. 分析レポートの自動生成
  8. まとめ

1. データ分析でのClaude Code活用

データを見せるだけで分析が始まる

> sales_data.csvを読み込んで、データの概要を教えてください。
  基本統計量・欠損値・データ型・外れ値を確認してください。
  その後、どんな分析ができそうか提案してください。

Claude Codeがデータを読み込んで内容を理解し、適切な分析アプローチを提案します。

Jupyterとの連携

# JupyterNotebookをClaude Codeで操作
claude "sales_data.csvを読み込んで、月次売上のトレンドを分析する
Jupyterノートブックを作成してください"

2. データの読み込みと探索的分析

基本的なEDAの実行

> sales_data.csvを読み込んで、以下の探索的分析を行ってください:

  1. データの形状(行数・列数)
  2. 各カラムのデータ型と欠損値率
  3. 数値カラムの基本統計量
  4. カテゴリカルカラムの値の分布
  5. 外れ値の検出(IQR法とZ-score法の両方)
  6. カラム間の相関分析
  7. 時系列データの場合:トレンドと季節性の確認

  分析結果をわかりやすいMarkdownレポートにまとめてください。

複数ファイルの結合

> 以下のデータを結合して分析用のデータセットを作成してください:
  - customers.csv(顧客情報)
  - orders.csv(注文履歴)
  - products.csv(商品マスタ)

  結合キーを自動で特定してください。
  結合後のデータの整合性チェックも行ってください。

3. データクリーニングの自動化

自動クリーニング

> このデータセットのクリーニングを行ってください。

  よくある問題を自動検出して修正してください:
  - 欠損値の補完(数値:平均値/中央値、カテゴリ:最頻値またはUnknown)
  - 重複レコードの削除
  - 文字列の前後空白・改行の除去
  - 日付フォーマットの統一
  - 外れ値の処理(除外またはキャップ)
  - カラム名のスネークケース統一

  各変換の前後でレコード数と統計量を記録してください。

4. 集計・分析の実装

売上分析

> orders.csvを使って以下の売上分析を行ってください:

  集計軸:
  - 月次・週次・日次の売上推移
  - 商品カテゴリ別の売上ランキング
  - 地域別の売上ヒートマップ用データ
  - RFM分析(Recency・Frequency・Monetary)
  - コホート分析(初回購入月ごとのリテンション率)

  結果をCSVファイルで保存してください。

A/Bテストの分析

> A/Bテストのデータを分析してください。

  データ:ab_test_results.csv
  グループ:control(コントロール)とtreatment(テスト)

  分析内容:
  - 基本統計量の比較
  - t検定またはU検定で統計的有意性を確認
  - 効果量(Cohen's d)の計算
  - 95%信頼区間の計算
  - サンプルサイズが十分かのパワー分析
  - 結論の要約

5. Matplotlib・Seabornによる可視化

分析用グラフの一括生成

> このデータセットの主要な分布と関係性を示すグラフを生成してください。

  生成するグラフ:
  - 数値カラムのヒストグラム(1枚に複数表示)
  - 相関行列のヒートマップ
  - カテゴリ別の箱ひげ図
  - 売上推移の折れ線グラフ(移動平均付き)

  グラフのスタイル:
  - 日本語フォントの設定
  - カラーパレット:Seabornのcolorblind
  - 解像度:300 DPI
  - ファイル形式:PNG・SVGの両方

プレゼン用の高品質グラフ

> この売上データを経営報告用の高品質なグラフに仕上げてください。

  要件:
  - シンプルで見やすいデザイン
  - 重要なポイントにアノテーション
  - 前年比の変化を矢印で表示
  - 会社のブランドカラー(#1a3a6b・#e84c3d)を使用
  - A4サイズで印刷できる解像度

6. インタラクティブなダッシュボード作成

Plotlyでのインタラクティブグラフ

> PlotlyとDashを使って売上ダッシュボードを作成してください。

  機能:
  - 日付範囲フィルター
  - 商品カテゴリの絞り込み
  - 売上推移・カテゴリ別構成・地域別分布を同時表示
  - ドリルダウン(月→週→日)
  - CSVエクスポートボタン

  Streamlitバージョンも作成してください(どちらが簡単か比較して)。

7. 分析レポートの自動生成

JupyterノートブックからPDFレポート

> この分析ノートブックをクリーンな分析レポートに変換してください。

  レポートの構成:
  - 分析の目的と概要
  - データの説明
  - 主要な発見事項(3〜5点)
  - 各グラフと解説
  - 結論と推奨事項

  nbconvertを使ってHTMLとPDFの両方で出力してください。

定期レポートの自動生成スクリプト

> 毎週月曜日に前週の売上データを自動分析して
  Slack(またはメール)に送信するスクリプトを作成してください。

  含める内容:
  - 前週売上(前週比・前年比)
  - 上位商品ランキング
  - 異常値・注目すべき変化
  - グラフを画像として添付

8. まとめ

Claude CodeでのPython データ分析の効率化ポイント:

  • データファイルを渡すだけでEDAが自動実行される
  • クリーニング・集計・可視化のコードを自動生成できる
  • プレゼン品質の高品質グラフを指定スタイルで生成できる
  • 定期レポートの自動生成スクリプトを構築できる

よく使うライブラリとの組み合わせ:

  • データ操作:Pandas・Polars(大規模データ)
  • 可視化:Matplotlib・Seaborn・Plotly
  • 統計分析:SciPy・Statsmodels
  • ダッシュボード:Streamlit・Dash
  • レポート:nbconvert・Quarto

次回の第30回:個人開発を加速する方法では、アイデアからリリースまで一人でできる開発フローを解説します。

よくある質問(FAQ)

Q. データが大きすぎてPandasで処理できない場合は?

A. Claude Codeに「このデータセットは〇GBあります。Pandasの代わりに効率的に処理する方法を提案してください」と相談することで、Polars・Dask・DuckDB等の代替手段を提案してくれます。

Q. 機械学習モデルの構築もサポートしてくれますか?

A. はい。「このデータで売上予測のモデルを作ってください」のように依頼すると、特徴量エンジニアリング・モデル選択・ハイパーパラメータ調整・評価まで自律的に進めてくれます。

この記事はClaude Code入門シリーズ(第3部)の第29回です。← 第28回:LLMアプリ開発第30回:個人開発を加速する方法 →

ご質問はお問い合わせページからお気軽にどうぞ。

著者:R-LLM 開発者

フォロー

Webエンジニアとして10年以上のキャリアがあり、現在はWordPressとLLM(大規模言語モデル)の連携、および生成AIを活用した課題解決のための開発に日々取り組んでいます。

私の信条は、クライアントに寄り添った伴走支援と、最後まで責任を持ってやり遂げる「遂行力」です。これまでの膨大なトライ&エラーの蓄積により、自身の領域内であれば不具合も迅速に解決できる現場の知見を積み上げてきました。

このブログでは、一人のエンジニアとして私自身がAI技術に抱いている純粋な興味をベースに、日々の探求プロセスを発信しています。

生成AILLMをどのように実務に組み込み、価値へ繋げていくか。自身の検証結果だけでなく、実務者としての視点に基づいた「考察や推察」も含めて共有することで、同じように試行錯誤を続ける方々と知見を繋げていければと考えています。

関連記事

SHARE Xでシェア
← 前の投稿
投稿一覧に戻る
次の投稿 →