私はすべてのデータを HDFStore に入れました (そうです!) が、それを取り出す方法..
HDFStore に 6 つの DataFrame を frame_table として保存しました。これらの各テーブルは次のようになりますが、長さは異なります (日付はユリウス日です)。
>>> a = store.select('var1')
>>> a.head()
var1
x_coor y_coor date
928 310 2006257 133
932 400 2006257 236
939 311 2006257 253
941 312 2006257 152
942 283 2006257 68
次に、すべてのテーブルから、日付が 2006256 を超える値を選択します。
>>> b = store.select_as_multiple(['var1','var2','var3','var4','var5','var6'], where=(pd.Term('date','>',date)), selector= 'var1')
>>> b.head()
var1 var2 var3 var4 var5 var6
x_coor y_coor date
928 310 2006257 133 14987 7045 18 240 171
2006273 136 0 7327 30 253 161
2006289 125 0 -239 83 217 168
2006305 95 14604 6786 13 215 57
2006321 84 0 4548 13 133 88
これは機能しますが、比較的小さな .h5 ファイルに対してのみです。したがって、通常の .h5 ファイルについては、チャンクサイズを使用して HDFStore に一時的に保存したいと思います (この選択に基づいて新しい列も追加する必要があるため)。私はこのように考えました(これを使用して):
for df in store.select_as_multiple(['var1','var2','var3','var4','var5','var6'], where=(pd.Term('date','>',date)), selector= 'var1', chunksize=15):
tempstore.put('test',pd.DataFrame(df))
ただし、ストアに追加されるチャンクは 1 つだけです。ただし、次の場合:
tempstore.append('test',pd.DataFrame(df))
ValueError: Can only append to Tables が表示されます。私が間違っていることは何ですか?