mcpField
C
csv-data-visualizer

csv-data-visualizer

github.com/ailabs-393データ・データベース4601.3k 回インストール50 週間前に更新
リポジトリ

csv-data-visualizer について

csv-data-visualizerは、Plotlyのグラフ、データプロファイリング、複数グラフのダッシュボードでCSVを分析するスキルです。対話的な探索や、図表・レポートの出力を行うデータ分析担当者向けです。

主な機能

  1. 01Plotlyによる対話型グラフ
  2. 02CSVの統計・品質プロファイリング
  3. 03自動および設定式ダッシュボード
  4. 04HTMLと静的画像への出力

活用シーン

  1. 01CSVの分布や関係性の探索
  2. 02欠損データとデータ品質の確認
  3. 03複数グラフによるデータ概要の作成
  4. 04レポートや発表用の図表出力

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/ailabs-393/ai-labs-claude-skills --skill csv-data-visualizer

インストール後、Claude Code で/csv-data-visualizerを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

index.js
package.json
references/
visualization_guide.md
scripts/
create_dashboard.py
data_profile.py
visualize_csv.py

詳細

CSV データビジュアライザー

概要

このスキルでは、CSV ファイルの包括的なデータ可視化と分析ができます。主な機能は、(1)Plotly を使用した個別のインタラクティブな可視化の作成、(2)統計的な要約を含む自動データプロファイリング、(3)複数のプロットを含むダッシュボードの生成の3つです。このスキルは、探索的データ分析、統計レポートの作成、プレゼンテーションに適した可視化の作成に最適化されています。

このスキルを使用するタイミング

ユーザーから次のようなリクエストがあった場合に、このスキルを呼び出してください。

  • 「この CSV データを可視化して」
  • 「このデータからヒストグラム/散布図/箱ひげ図を作成して」
  • 「[column] の分布を見せて」
  • 「このデータセットのダッシュボードを生成して」
  • 「この CSV ファイルのプロファイルを作成して」または「このデータを分析して」
  • 「相関ヒートマップを作成して」
  • 「時間の経過に伴う傾向を見せて」
  • 「[categories] ごとに [variable] を比較して」

主な機能

1. 個別の可視化

visualize_csv.py スクリプトを使用して、詳細な分析に必要な特定の種類のグラフを作成します。

利用可能なグラフの種類:

統計プロット:

# Histogram - distribution of numeric data
python3 scripts/visualize_csv.py data.csv --histogram column_name --bins 30

# Box plot - show quartiles and outliers
python3 scripts/visualize_csv.py data.csv --boxplot column_name

# Box plot grouped by category
python3 scripts/visualize_csv.py data.csv --boxplot salary --group-by department

# Violin plot - distribution with probability density
python3 scripts/visualize_csv.py data.csv --violin column_name --group-by category

関係の分析:

# Scatter plot with automatic trend line
python3 scripts/visualize_csv.py data.csv --scatter height weight

# Scatter plot with color and size encoding
python3 scripts/visualize_csv.py data.csv --scatter x y --color category --size value

# Correlation heatmap for all numeric columns
python3 scripts/visualize_csv.py data.csv --correlation

時系列:

# Line chart for single variable
python3 scripts/visualize_csv.py data.csv --line date sales

# Multiple variables on same chart
python3 scripts/visualize_csv.py data.csv --line date "sales,revenue,profit"

カテゴリデータ:

# Bar chart (counts categories automatically)
python3 scripts/visualize_csv.py data.csv --bar category

# Pie chart for composition
python3 scripts/visualize_csv.py data.csv --pie region

出力形式: 希望する形式の拡張子を指定して、出力ファイルを指定します。

# Interactive HTML (default)
python3 scripts/visualize_csv.py data.csv --histogram age -o output.html

# Static image formats
python3 scripts/visualize_csv.py data.csv --scatter x y -o plot.png
python3 scripts/visualize_csv.py data.csv --correlation -o heatmap.pdf
python3 scripts/visualize_csv.py data.csv --bar category -o chart.svg
2. 自動データプロファイリング

data_profile.py スクリプトを使用して、包括的なデータ品質レポートと統計レポートを生成します。

テキストレポート(デフォルト):

python3 scripts/data_profile.py data.csv

HTML レポート:

python3 scripts/data_profile.py data.csv -f html -o report.html

JSON レポート:

python3 scripts/data_profile.py data.csv -f json -o profile.json

プロファイラーで確認できる内容:

  • ファイル情報(サイズ、次元)
  • データセットの概要(形状、メモリ使用量、重複)
  • 列ごとの分析(型、欠損データ、一意の値)
  • 欠損データのパターンと完全性
  • 数値列の統計的要約(平均、標準偏差、四分位数、歪度、尖度)
  • カテゴリ列の分析(頻度、最も一般的な値と最も一般的でない値)
  • データ品質チェック(欠損データが多い列、重複行、定数列、カーディナリティの高い列)

プロファイリングを使用するタイミング: 次の場合は、可視化を作成する前にデータプロファイリングを実行することを常に推奨してください。

  • ユーザーがデータセットに詳しくない
  • データ品質が不明
  • 適切な可視化の種類を特定する必要がある
  • 新しいデータセットを初めて調査する
3. 複数プロットのダッシュボード

create_dashboard.py スクリプトを使用して、複数の可視化を含む包括的なダッシュボードを作成します。

自動ダッシュボード: データ型を分析し、適切な可視化を自動的に作成します。

python3 scripts/create_dashboard.py data.csv

出力先をカスタマイズする場合:

python3 scripts/create_dashboard.py data.csv -o my_dashboard.html

プロット数を指定する場合:

python3 scripts/create_dashboard.py data.csv --max-plots 9

設定ファイルを使用したカスタムダッシュボード: 必要なプロットを正確に指定した JSON 設定ファイルを作成します。

python3 scripts/create_dashboard.py data.csv --config config.json

ダッシュボード設定の形式:

{
  "title": "Sales Analysis Dashboard",
  "plots": [
    {"type": "histogram", "column": "revenue"},
    {"type": "box", "column": "revenue", "group_by": "region"},
    {"type": "scatter", "column": "advertising", "group_by": "revenue"},
    {"type": "bar", "column": "product_category"},
    {"type": "correlation"}
  ]
}

ダッシュボードのプロットの種類:

  • histogram:数値列の分布
  • box:箱ひげ図。カテゴリごとのグループ化も可能
  • scatter:2つの数値列間の関係
  • bar:カテゴリ値の件数
  • correlation:数値の相関関係を示すヒートマップ

ワークフローの判断ツリー

この判断ツリーを使用して、適切な方法を選択してください。

User provides CSV file
│
├─ "Profile this data" / "Analyze this data" / Unfamiliar dataset
│  └─> Run data_profile.py first
│     Then offer visualization options based on findings
│
├─ "Create dashboard" / "Overview of the data" / Multiple visualizations needed
│  ├─ User knows exact plots wanted
│  │  └─> Create JSON config → run create_dashboard.py with config
│  └─ User wants automatic dashboard
│     └─> Run create_dashboard.py (auto mode)
│
└─ Specific visualization requested ("histogram", "scatter plot", etc.)
   └─> Use visualize_csv.py with appropriate flag

ベストプラクティス

分析の開始
  1. 不慣れなデータセットでは、必ず最初にプロファイルを作成します:python3 scripts/data_profile.py data.csv
  2. プロファイリングの出力を確認して、次の内容を把握します。
    • 列のデータ型と範囲
    • 欠損データのパターン
    • データ品質の問題
    • 統計的な分布
可視化の選択

詳しいガイダンスについては、references/visualization_guide.md を参照してください。クイックリファレンス:

  • 分布:ヒストグラム、箱ひげ図、バイオリンプロット
  • 関係:散布図、相関ヒートマップ
  • 時系列:折れ線グラフ
  • カテゴリ:棒グラフ(推奨)または円グラフ(控えめに使用)
  • 比較:カテゴリごとにグループ化した箱ひげ図
ダッシュボードの作成
  • 自動ダッシュボード:初期調査に適しています
  • カスタムダッシュボード:プレゼンテーションや特定の分析目的に適しています
  • プロット数の制限:読みやすさを保つため、最大6~9個にします
  • 論理的なグループ化:関連する可視化をまとめます
出力に関する考慮事項
  • HTML:インタラクティブな探索に最適です(ズーム、パン、ホバーツールチップ)。
  • PNG/PDF:レポートやプレゼンテーションに最適です。
  • SVG:ベクターグラフィックが必要な出版物に最適です。

依存関係

スクリプトには、以下の Python パッケージが必要です。

pip install pandas plotly numpy

静的画像としてエクスポートする場合(PNG、PDF、SVG)は、以下もインストールしてください。

pip install kaleido

ワークフローの例

探索的データ分析
# 1. Profile the data
python3 scripts/data_profile.py sales_data.csv -f html -o profile.html

# 2. Create automatic dashboard
python3 scripts/create_dashboard.py sales_data.csv -o dashboard.html

# 3. Dive deeper with specific plots
python3 scripts/visualize_csv.py sales_data.csv --scatter price sales --color region
python3 scripts/visualize_csv.py sales_data.csv --boxplot revenue --group-by product
レポートの生成
# Create specific visualizations for report
python3 scripts/visualize_csv.py data.csv --histogram age -o fig1_distribution.png
python3 scripts/visualize_csv.py data.csv --scatter income age -o fig2_correlation.png
python3 scripts/visualize_csv.py data.csv --bar category -o fig3_categories.png

# Generate data summary
python3 scripts/data_profile.py data.csv -f html -o data_summary.html
インタラクティブなダッシュボード
# Create custom dashboard for presentation
# 1. First, create config.json with desired plots
# 2. Generate dashboard
python3 scripts/create_dashboard.py data.csv --config config.json -o presentation_dashboard.html

トラブルシューティング

「Column not found」エラー:

  • データプロファイリングを実行して、正確な列名を確認してください。
  • CSV の列名では大文字と小文字が区別されます。
  • 列名の先頭または末尾に空白がないか確認してください。

空の、または正しくない可視化:

  • データ型(数値型かカテゴリ型か)を確認してください。
  • プロット対象の列に欠損データがないか確認してください。
  • null 以外の値が十分に存在することを確認してください。

スクリプトの実行エラー:

  • 依存関係がインストールされていることを確認してください:pip list | grep plotly
  • Python のバージョンを確認してください:Python 3.6 以降が必要です。
  • 画像のエクスポートに問題がある場合は、kaleido をインストールしてください:pip install kaleido

リソース

scripts/
  • visualize_csv.py:すべての種類のチャートに対応したメインの可視化スクリプト
  • data_profile.py:データの自動プロファイリングと品質分析
  • create_dashboard.py:複数のプロットを含むダッシュボードの生成ツール
references/
  • visualization_guide.md:適切なチャートの種類の選び方、ベストプラクティス、一般的なパターンを網羅したガイド

コメント