我有一个HDF5文件,其中包含复合元素的一维(N x 1)数据集 - 实际上它是一个时间序列.首先将数据离线收集到HFD5文件中,然后进行分析.在分析过程中,大多数数据都变得无趣,只有部分数据很有趣.由于数据集可能非常大,我想摆脱不感兴趣的元素,同时保留有趣的元素.例如,保留500个元素数据集的元素0-100和200-300和350-400,转储其余数据集.但是怎么样?
有没有人有关于如何使用HDF5实现这一目标的经验?显然它可以通过几种方式完成,至少:
由于即使删除了不感兴趣的元素,文件也可能非常大,我宁愿不重写它们(这需要很长时间),但似乎需要实际释放自由空间.来自HDF5专家的任何提示?
是否有类似于以下的pyTables方法:
with pd.get_store(my_store) as store:
keys = store.keys()
rem_key = min(sorted(keys))
store.remove(rem_key)
Run Code Online (Sandbox Code Playgroud)
我本质上是试图访问HDF5商店的密钥列表,找到不再需要的密钥(在这种情况下,它是min(),如果商店密钥是例如日期),然后从商店中删除该密钥同时保留其他人.
熊猫似乎没有任何东西可以做到这一点,我已经看过pyTables方法无济于事,已经读过它们会影响python中的HDF功能.
谢谢!