我正在处理大量数据集,每个数据集都是一个pandas DataFrame,由于它们的大小,我需要从磁盘访问它。从我的阅读,看起来HDF将是一个很好的方式与他们合作,但我有点困惑的结构数据的最佳方式,因为每个DataFrame的各种元数据。如果我要将数据存储在内存中,我可能会使用像namedtuple这样的东西(虽然这样不容易查询):
DataSet = namedtuple('DataSet', 'model method id data')
data
是保存实际数据帧的属性,其他字段是文本。但是,我现在需要包含一系列结果字段,我可能会在内存中使用DataFrames的字典。如果我把它转移到一个mongodb,我可能会有这样的东西:
[{
model: 'mir',
method: 'rfl_max',
id: 's0001',
data: <DataFrame>,
results: [
{
option_r: 10,
window: 30,
data: <DataFrame>
},
...
]
},
....
]
我的基本问题是我可以有效地将此结构应用于HDF吗?具体做法是:
或者,是否有人知道基于文件的mongodb实现可能会出于我的目的?