mcpField
D
data_analysis

data_analysis

github.com/artificialanalysisデータ・データベース686237 回インストール1 週間前に更新
リポジトリ

data_analysis について

Polars を使ったデータ分析スキルで、分析担当者や開発者向けです。データセットの探索、変換、分析、可視化、出力に関する手順、資料、スクリプトを提供します。

主な機能

  1. 01一般的なデータ形式の読み込み
  2. 02テーブルのクリーニングと変換
  3. 03データの集計と分析
  4. 04時系列分析
  5. 05チャート作成と結果の出力
  6. 06探索・統計スクリプト

活用シーン

  1. 01未知のデータセットのプロファイリング
  2. 02データのクリーニングと結合
  3. 03グループ別または時系列データの集計
  4. 04チャートと出力ファイルの準備

インストール

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

$npx skills add https://github.com/artificialanalysis/stirrup --skill data_analysis

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

同梱ファイル

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

reference/
transformations.md
statistics.md
loading.md
visualization.md
time_series.md
aggregations.md
scripts/
summary_stats.py
explore_data.py

詳細

データ分析スキル

Polars を使用した包括的なデータ分析ツールキットです。Polars は非常に高速な DataFrame ライブラリです。このスキルでは、一般的なデータ分析タスクの手順、リファレンスドキュメント、すぐに使えるスクリプトを提供します。

反復チェックポイント
ステップ提示する内容ユーザー入力の種類
データの読み込み形状、列、サンプル行「このデータで合っていますか?」
データの探索要約統計量、データ品質の問題「注目したい列はありますか?」
変換変換前後の比較「この変換で問題ありませんか?」
分析主な調査結果、グラフ「さらに詳しく調べたい点はありますか?」
エクスポート出力のプレビュー「保存してよいですか?それとも変更しますか?」

クイックスタート

import polars as pl
from polars import col

# Load data
df = pl.read_csv("data.csv")

# Explore
print(df.shape, df.schema)
df.describe()

# Transform and analyze
result = (
    df.filter(col("value") > 0)
    .group_by("category")
    .agg(col("value").sum().alias("total"))
    .sort("total", descending=True)
)

# Export
result.write_csv("output.csv")

このスキルを使用する場面

  • データセットの読み込み(CSV、JSON、Parquet、Excel、データベース)
  • データのクリーニング、フィルタリング、変換
  • 集計、グループ化、ピボットテーブル
  • 統計分析と要約統計量の算出
  • 時系列分析とリサンプリング
  • 複数のデータセットの結合とマージ
  • 可視化とグラフの作成
  • さまざまな形式への結果のエクスポート

スキルの内容

リファレンスドキュメント

特定の操作に関する詳細な API リファレンスとパターンです。

  • reference/loading.md - サポートされているすべての形式からのデータ読み込み
  • reference/transformations.md - 列の操作、フィルタリング、並べ替え、型変換
  • reference/aggregations.md - グループ化、ウィンドウ関数、累積合計
  • reference/time_series.md - 日付の解析、リサンプリング、ラグ特徴量
  • reference/statistics.md - 相関、分布、仮説検定の設定
  • reference/visualization.md - matplotlib/plotly を使ったグラフの作成
すぐに使えるスクリプト

一般的なタスク向けの実行可能な Python スクリプトです。

  • scripts/explore_data.py - データセットのすばやい探索とプロファイリング
  • scripts/summary_stats.py - 包括的な統計レポートの生成

基本パターン

データの読み込み
# CSV (most common)
df = pl.read_csv("data.csv")

# Lazy loading for large files
df = pl.scan_csv("large.csv").filter(col("x") > 0).collect()

# Parquet (recommended for large datasets)
df = pl.read_parquet("data.parquet")

# JSON
df = pl.read_json("data.json")
df = pl.read_ndjson("data.ndjson")  # Newline-delimited
フィルタリングと選択
# Select columns
df.select("col1", "col2")
df.select(col("name"), col("value") * 2)

# Filter rows
df.filter(col("age") > 25)
df.filter((col("status") == "active") & (col("value") > 100))
df.filter(col("name").str.contains("Smith"))
変換
# Add/modify columns
df = df.with_columns(
    (col("price") * col("qty")).alias("total"),
    col("date_str").str.to_date("%Y-%m-%d").alias("date"),
)

# Conditional values
df = df.with_columns(
    pl.when(col("score") >= 90).then(pl.lit("A"))
    .when(col("score") >= 80).then(pl.lit("B"))
    .otherwise(pl.lit("C"))
    .alias("grade")
)
集計
# Group by
df.group_by("category").agg(
    col("value").sum().alias("total"),
    col("value").mean().alias("avg"),
    pl.len().alias("count"),
)

# Window functions
df.with_columns(
    col("value").sum().over("group").alias("group_total"),
    col("value").rank().over("group").alias("rank_in_group"),
)
エクスポート
df.write_csv("output.csv")
df.write_parquet("output.parquet")
df.write_json("output.json", row_oriented=True)

ベストプラクティス

  1. 大規模なデータセットには遅延評価を使用します。pl.scan_csv() と .collect() を組み合わせます。
  2. コストの高い処理を行う前に早めにフィルタリングして、データ量を減らします。
  3. メモリ使用量を最小限に抑えるため、必要な列だけを選択します。
  4. 保存にはParquet を優先します。I/O が高速で、圧縮効率も優れています。
  5. クエリプランを理解して最適化するには、.explain() を使用します。

コメント