我将所有数据都放入 HDFStore(是的!),但是如何从中取出它..
我在 HDFStore 中将 6 个 DataFrames 保存为 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 文件,我想使用 chunksize 将其临时存储在 HDFStore 中(因为我还必须根据此选择添加一个新列)。我是这样想的(使用this):
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))
但是只有一个块被添加到存储中。但是有:
tempstore.append('test',pd.DataFrame(df))
我得到 ValueError: Can only append to Tables。我做错了什么?