PyTables は、IsDescription クラスから継承するユーザー定義クラスからのテーブルの作成をサポートしています。これには、ドキュメントの次の例のように、多次元セルのサポートが含まれます。
class Particle(IsDescription):
name = StringCol(itemsize=16) # 16-character string
lati = Int32Col() # integer
longi = Int32Col() # integer
pressure = Float32Col(shape=(2,3)) # array of floats (single-precision)
temperature = Float64Col(shape=(2,3)) # array of doubles (double-precision)
しかし、任意の形状の多次元配列を単一のセルに格納することは可能ですか? 上記の例に従うと、各行の挿入時にpressure = Float32Col(shape=(x, y))
wherex
およびare が決定されるようなものです。y
そうでない場合、好ましいアプローチは何ですか?各 (任意の形状の) 多次元配列をCArray
一意の名前で格納し、それらの名前をマスター インデックス テーブルに格納しますか? 私が想像しているアプリケーションは、画像と関連するメタデータを保存していて、クエリと使用の両方ができるようにしたいと考えていますnumexpr
。
PyTables のベスト プラクティスへのポインタは大歓迎です。