csv-data-visualizer について
csv-data-visualizerは、Plotlyのグラフ、データプロファイリング、複数グラフのダッシュボードでCSVを分析するスキルです。対話的な探索や、図表・レポートの出力を行うデータ分析担当者向けです。
主な機能
- 01Plotlyによる対話型グラフ
- 02CSVの統計・品質プロファイリング
- 03自動および設定式ダッシュボード
- 04HTMLと静的画像への出力
活用シーン
- 01CSVの分布や関係性の探索
- 02欠損データとデータ品質の確認
- 03複数グラフによるデータ概要の作成
- 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.jspackage.jsonreferences/visualization_guide.mdscripts/create_dashboard.pydata_profile.pyvisualize_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
ベストプラクティス
分析の開始
- 不慣れなデータセットでは、必ず最初にプロファイルを作成します:
python3 scripts/data_profile.py data.csv - プロファイリングの出力を確認して、次の内容を把握します。
- 列のデータ型と範囲
- 欠損データのパターン
- データ品質の問題
- 統計的な分布
可視化の選択
詳しいガイダンスについては、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:適切なチャートの種類の選び方、ベストプラクティス、一般的なパターンを網羅したガイド