Skip to main content
このガイドでは、互換性を維持しながら、既存の pandas コードを DataStore に移行してパフォーマンスを向上させる方法を説明します。

ワンライナーでの移行

最も簡単なのは、インポート文を変更するだけです:
以上です!ほとんどの pandas コードはそのまま動作します。

段階的な移行

1

chDB をインストール

2

インポートを変更

3

コードをテスト

既存のコードを実行します。ほとんどの操作はそのまま動作します。
4

相違点に対応

一部の操作は挙動が異なります。以下の主な違いを参照してください。

そのまま動作するもの

データの読み込み

フィルタリング

選択範囲

GroupBy と集計

ソート

文字列操作

DateTime の操作

I/O 操作


主な違い

1. 遅延評価

DataStore の操作は遅延実行されるため、結果が必要になるまで実行されません。 pandas:
DataStore:

2. 戻り値の型

3. inplace パラメータはありません

DataStore は inplace=True をサポートしていません。必ず戻り値を使用してください。 pandas:
DataStore:

4. DataStore の比較

pandas は DataStore オブジェクトを認識しないため、比較するには to_pandas() を使用します。

5. 行の順序

DataStore では、ファイルソース (SQL データベースなど) の場合、行の順序が保持されないことがあります。明示的にソートしてください。

移行パターン

パターン 1: 読み込み・分析・書き込み

パターン2: pandasで操作するDataFrame

pandas固有の機能が必要な場合は、最後に変換します:

パターン3: 混在ワークフロー


性能比較

大規模なデータセットでは、DataStoreは大幅に高速です。 1,000万行でのベンチマーク

移行のトラブルシューティング

問題: 操作が機能しない

一部の pandas の操作はサポートされていないことがあります。次の点を確認してください。
  1. その操作は互換性リストに含まれていますか?
  2. まず pandas に変換してから試してください: ds.to_df().operation()

問題: 結果が異なる

何が起きているかを把握するため、デバッグログを有効にします:

問題: パフォーマンスが低い

実行パターンを確認してください。

問題: 型の不一致

DataStore では、型の推論結果が異なる場合があります:

段階的移行戦略

第1週: 互換性をテスト

第2週: 単純なスクリプトを移行する

まずは、次のようなスクリプトから始めます。
  • 大きなファイルを読み込む
  • フィルタリングと集約を行う
  • カスタムの apply 関数を使用しない

第3週: 複雑なケースに対応

カスタム関数を含むスクリプトの場合:

第4週: 完全移行

すべてのスクリプトのインポートをDataStoreに切り替えます。

よくある質問

pandas と DataStore の両方を使用できますか?

はい。両者は自由に相互変換できます。

テストはこれまでどおり通りますか?

ほとんどのテストは通るはずです。比較用のテストでは、pandas に変換してください:

Jupyter で DataStore を使用できますか?

はい!DataStore は Jupyter ノートブックで利用できます。

issue はどのように報告すればよいですか?

互換性に関する issue を見つけた場合は、以下で報告してください。 https://github.com/chdb-io/chdb/issues
最終更新日 2026年7月23日