【发布时间】:2014-09-27 15:00:14
【问题描述】:
我正在使用 HDF5Store 来存储我的一些处理结果,然后再进行分析。 进店里我要放3种结果,
- 原始结果,根本没有处理,只是从原始 CSV 格式读入和合并
- 从原始结果派生的经过处理的结果,经过一些处理并划分为更具逻辑性的分组
- 为了便于阅读,添加了有用的汇总列并删除了冗余列的汇总结果。
我认为具有分层键的 HDF5Store 可以做到这一点,一个用于 Raw,一个用于 Processed,一个用于 Summarised。
我想要这样的结构:
<class 'pandas.io.pytables.HDFStore'>
File path: results.h5
/proccessed/dbn_reinit frame (shape->[22880,19])
/proccessed/dbn_rerep_code frame (shape->[11440,18])
/proccessed/dbn_rerep_enhanced_input frame (shape->[11440,18])
/proccessed/linear_classifier frame (shape->[572,18])
/proccessed/msda_rerep_code frame (shape->[18304,17])
/proccessed/msda_rerep_enhanced_input frame (shape->[18304,17])
/raw/dbn_reinit frame (shape->[22880,15])
/raw/dbn_rerep frame (shape->[23452,15])
/raw/msda_rerep frame (shape->[36608,14])
/summerised/dbn_reinit frame (shape->[22880,10])
/summerised/dbn_rerep_code frame (shape->[11440,9])
/summerised/dbn_rerep_enhanced_input frame (shape->[11440,9])
/summerised/linear_classifier frame (shape->[572,6])
/summerised/msda_rerep_code frame (shape->[18304,10])
/summerised/msda_rerep_enhanced_input frame (shape->[18304,10])
我希望我可以这样说:
store = pandas.HDF5Store('results.h5')
store.add_group('raw')
raw_store = store['raw']
raw_store['dbn_reinit'] = dbn_reinit_dataframe
raw_store['dbn_rerep_code'] = dbn_rerep_code_dataframe
...
等
但是似乎没有一种方法可以获取商店的子组并像商店一样使用它,
所以我不得不这样做:
store = pd.HDFStore('results.h5', mode='w')
store['raw/dbn_reinit'] = dbn_reinit_dataframe
store['raw/dbn_rerep'] = dbn_reinit_dataframe
...
这是罗嗦的,并没有真正显示任何类型的结果分组到 3 个类别
我错过了什么吗?
或者是 HDF 的层次特征,
只是写很长的键名,其中包含/s?
【问题讨论】:
标签: python pandas hdf5 pytables