mcpField
V
vaex

vaex

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

vaex について

Vaexは、メモリに収まらない大規模な表形式データを扱うPython分析ライブラリです。遅延評価と仮想列を活用し、データ処理、統計、可視化、機械学習のワークフローを支援します。

主な機能

  1. 01遅延評価とメモリ外DataFrame
  2. 02仮想列と式による処理
  3. 03大規模データの集計
  4. 04インタラクティブなプロットとヒートマップ
  5. 05機械学習パイプライン連携
  6. 06複数形式の入出力

活用シーン

  1. 01利用可能なメモリを超えるデータの分析
  2. 02大規模データの統計集計
  3. 03大規模データの分布の可視化
  4. 04ビッグデータの機械学習パイプライン構築

インストール

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

$npx skills add https://github.com/jackspace/claudeskillz --skill vaex

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

同梱ファイルSKILL.json

詳細

Vaex

概要

Vaex は、RAM に収まらないほど大きな表形式データセットを処理・可視化するために設計された、高性能な Python ライブラリです。遅延評価かつアウトオブコアで動作する DataFrame を提供します。Vaex は 1 秒あたり 10 億行以上を処理できるため、数十億行規模のデータセットでもインタラクティブなデータ探索や分析が可能です。

このスキルを使うタイミング

次のような場合に Vaex を使用してください:

  • 利用可能な RAM より大きい表形式データセット(数ギガバイトから数テラバイト)を処理する場合
  • 巨大なデータセットに対して高速な統計集計を行う場合
  • 大規模データセットの可視化やヒートマップを作成する場合
  • ビッグデータを用いた機械学習パイプラインを構築する場合
  • データ形式(CSV、HDF5、Arrow、Parquet)間で変換する場合
  • メモリのオーバーヘッドを避けるために遅延評価や仮想列が必要な場合
  • 天文データ、金融の時系列データ、その他の大規模な科学データセットを扱う場合

主要な機能

Vaex は 6 つの主要な機能領域を提供しており、それぞれの詳細は references ディレクトリに記載されています。

1. DataFrame とデータ読み込み

ファイル(HDF5、CSV、Arrow、Parquet)、pandas DataFrame、NumPy 配列、辞書など、さまざまなソースから Vaex DataFrame を読み込み・作成します。以下の内容については references/core_dataframes.md を参照してください:

  • 大きなファイルを効率的に開く方法
  • pandas/NumPy/Arrow からの変換
  • サンプルデータセットの扱い
  • DataFrame の構造の理解
2. データ処理と操作

全データをメモリに読み込むことなく、フィルタリング、仮想列の作成、式の使用、データの集計を行います。以下の内容については references/data_processing.md を参照してください:

  • フィルタリングと選択
  • 仮想列と式
  • groupby 操作と集計
  • 文字列操作と日時の扱い
  • 欠損データの扱い
3. パフォーマンスと最適化

Vaex の遅延評価、キャッシュ戦略、メモリ効率の良い操作を活用します。以下の内容については references/performance.md を参照してください:

  • 遅延評価の理解
  • 操作をまとめて実行するための delay=True の使用
  • 必要に応じた列のマテリアライズ
  • キャッシュ戦略
  • 非同期操作
4. データ可視化

ヒートマップ、ヒストグラム、散布図など、大規模データセットのインタラクティブな可視化を作成します。以下の内容については references/visualization.md を参照してください:

  • 1 次元および 2 次元のプロットの作成
  • ヒートマップによる可視化
  • 選択の操作
  • プロットやサブプロットのカスタマイズ
5. 機械学習との統合

トランスフォーマー、エンコーダーを用いた ML パイプラインを構築し、scikit-learn、XGBoost などのフレームワークと統合します。以下の内容については references/machine_learning.md を参照してください:

  • 特徴量のスケーリングとエンコーディング
  • PCA と次元削減
  • K-means クラスタリング
  • scikit-learn/XGBoost/CatBoost との統合
  • モデルのシリアライズとデプロイ
6. I/O 操作

さまざまな形式のデータを最適なパフォーマンスで効率的に読み書きします。以下の内容については references/io_operations.md を参照してください:

  • ファイル形式の推奨事項
  • エクスポート戦略
  • Apache Arrow の扱い
  • 大きなファイルの CSV 処理
  • サーバーおよびリモートでのデータアクセス

クイックスタートのパターン

ほとんどの Vaex のタスクでは、次のパターンに従ってください:

import vaex

# 1. Open or create DataFrame
df = vaex.open('large_file.hdf5')  # or .csv, .arrow, .parquet
# OR
df = vaex.from_pandas(pandas_df)

# 2. Explore the data
print(df)  # Shows first/last rows and column info
df.describe()  # Statistical summary

# 3. Create virtual columns (no memory overhead)
df['new_column'] = df.x ** 2 + df.y

# 4. Filter with selections
df_filtered = df[df.age > 25]

# 5. Compute statistics (fast, lazy evaluation)
mean_val = df.x.mean()
stats = df.groupby('category').agg({'value': 'sum'})

# 6. Visualize
df.plot1d(df.x, limits=[0, 100])
df.plot(df.x, df.y, limits='99.7%')

# 7. Export if needed
df.export_hdf5('output.hdf5')

リファレンスの活用

リファレンスファイルには、各機能領域の詳細な情報が含まれています。具体的なタスクに応じて、必要なリファレンスをコンテキストに読み込んでください:

  • 基本操作: references/core_dataframes.md と references/data_processing.md から始めてください
  • パフォーマンスの問題: references/performance.md を確認してください
  • 可視化のタスク: references/visualization.md を使用してください
  • ML パイプライン: references/machine_learning.md を参照してください
  • ファイル I/O: references/io_operations.md を参照してください

ベストプラクティス

  1. 大規模データセットで最適なパフォーマンスを得るために、HDF5 または Apache Arrow 形式を使用します
  2. メモリを節約するため、データを実体化する代わりに仮想列を活用します
  3. 複数の計算を行う場合は、delay=True を使用して操作をまとめて実行します
  4. データを CSV のまま保持するのではなく、効率的な形式にエクスポートします
  5. 中間データを保存せずに複雑な計算を行うには、式を使用します
  6. df.stat() でプロファイリングを行い、メモリ使用量を把握して操作を最適化します

よくあるパターン

パターン: 大規模な CSV を HDF5 に変換する
import vaex

# Open large CSV (processes in chunks automatically)
df = vaex.from_csv('large_file.csv')

# Export to HDF5 for faster future access
df.export_hdf5('large_file.hdf5')

# Future loads are instant
df = vaex.open('large_file.hdf5')
パターン: 効率的な集計
# Use delay=True to batch multiple operations
mean_x = df.x.mean(delay=True)
std_y = df.y.std(delay=True)
sum_z = df.z.sum(delay=True)

# Execute all at once
results = vaex.execute([mean_x, std_y, sum_z])
パターン: 特徴量エンジニアリングのための仮想列
# No memory overhead - computed on the fly
df['age_squared'] = df.age ** 2
df['full_name'] = df.first_name + ' ' + df.last_name
df['is_adult'] = df.age >= 18

リソース

このスキルには、references/ ディレクトリに参考ドキュメントが含まれています。

  • core_dataframes.md - DataFrame の作成、読み込み、基本構造
  • data_processing.md - フィルタリング、式、集計、変換
  • performance.md - 最適化戦略と遅延評価
  • visualization.md - プロットとインタラクティブな可視化
  • machine_learning.md - ML パイプラインとモデル統合
  • io_operations.md - ファイル形式とデータのインポート/エクスポート

コメント