はじめに
「Pandasのコードを毎回ゼロから書くのが大変」
「データを見ながら分析を進めたいが、コードのデバッグで時間を取られる」
「グラフをきれいに仕上げるのに時間がかかる」
データ分析はExploratory Data Analysis(EDA)の繰り返しが多く、同じようなコードを書き直すことが多いです。Claude Codeを使えば、データの内容を見せるだけで適切な分析・可視化コードを自動生成できます。
目次
- データ分析でのClaude Code活用
- データの読み込みと探索的分析
- データクリーニングの自動化
- 集計・分析の実装
- Matplotlib・Seabornによる可視化
- インタラクティブなダッシュボード作成
- 分析レポートの自動生成
- まとめ
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回:個人開発を加速する方法 →
ご質問はお問い合わせページからお気軽にどうぞ。