2

時間と値のペアを pytables に保存する最も効率的な方法を見つけようとしています。膨大な量のデータを扱っているため、pytables を使用しています。データに対して計算を実行する必要があります (平均、補間など)。行数は事前にわかりません。

テーブルと同じように EArray を追加できることを知っています。どちらかを選択する理由はありますか?

私の単純なデータ構造 (同種の時間と値のペア) を考えると、EArray がより高速で最も効率的であると考えましたが、pytables 作成者自身からの次の引用は私を失望させました:

「... PyTables は、まあ、テーブル用に特別に調整されています。
そして、これらのエンティティは、最大速度のために微調整された特別な I/O バッファとクエリ エンジンを使用します。*配列オブジェクトは同じ機構を使用していません。」見積もり場所

4

1 に答える 1

2

列に特定の意味や名前がある場合は、間違いなくテーブルを使用する必要があります。

効率は、データに対して実行している操作の種類に大きく依存します。ほとんどの場合、大きな違いはありません。行アクセスでは EArray の方が高速である可能性があり、列アクセスではテーブルの方がおそらくわずかに優れており、テーブル/EArray アクセス全体については非常に似ているはずです。

もちろん、単に要素にアクセスするだけでなく、データのクエリや変換を行いたい場合は、Table を使用する必要があります。テーブルは、where() メソッドを介したクエリとインデックス作成のアイデアに基づいて実際に構築されているため、このような操作が非常に高速になります。EArray にはこのインフラストラクチャがないため、速度が低下します。

于 2013-10-17T08:38:17.593 に答える