hosseinmoein/DataFrame

C++ DataFrame for statistical, financial, and ML analysis in modern C++

何を解決するか

DataFrame は、メモリ内でのデータ探索、変換、統計分析に特化した高性能 C++ ライブラリです。Pandas や Polars などの Python ベースのツールに伴うオーバーヘッドを回避し、Excel や SQL テーブルと同様の表形式データを C++ で扱う方法を提供します。大規模データセットやパフォーマンスが重要なアプリケーションに特に適しています。

動作方法

このライブラリはテンプレート化された異種コンテナを実装しており、列を第一級のオブジェクトとして扱います。これにより、行ごとの処理よりも列への操作やアクセスがより効率的になります。パフォーマンスを最大化するために、厳格なメモリ設計を採用しています:列データは連続したメモリ領域に保持され、不要なデータコピーを避け、ポインタ(リンクリストや std::any など)、ユニオン、std::variant の使用を避けています。

対象ユーザー

統計、機械学習、金融アプリケーション向けの効率的な表形式データ処理を必要とするデータサイエンティスト、定量的トレーダー、C++ 開発者向けに設計されています。

主な特徴

  • 多次元対応:列には任意の型のベクトル(他の DataFrame も含む)を格納でき、任意の次元の構造をサポートします。
  • 豊富な分析ツールセット:基本統計(平均、標準偏差)、高度な分析(PCA、FFT、固有値)、さまざまな取引指標のための組み込みビジタが利用可能です。
  • 高いパフォーマンス:大規模データセット向けに多スレッド処理を活用し、数十億行のデータを扱えるようにメモリ効率を最適化しています。
  • オープンエンド API:ユーザーが独自のアルゴリズムを簡単に統合できるように、柔軟な API を提供しています。
  • 自己完結型:C++ 言語とその標準ライブラリのみに依存しており、外部依存は一切ありません。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト