相关疑难解决方法(0)

从HDF5文件中删除数据

我有一个HDF5文件,其中包含复合元素的一维(N x 1)数据集 - 实际上它是一个时间序列.首先将数据离线收集到HFD5文件中,然后进行分析.在分析过程中,大多数数据都变得无趣,只有部分数据很有趣.由于数据集可能非常大,我想摆脱不感兴趣的元素,同时保留有趣的元素.例如,保留500个元素数据集的元素0-100和200-300和350-400,转储其余数据集.但是怎么样?

有没有人有关于如何使用HDF5实现这一目标的经验?显然它可以通过几种方式完成,至少:

  • (明显的解决方案),创建一个新的新文件并在那里逐个元素地写入必要的数据.然后删除旧文件.
  • 或者,在旧文件中,创建一个新的新数据集,在那里写入必要的数据,使用H5Gunlink()取消链接旧数据集,并通过h5repack运行文件来摆脱无人认领的可用空间.
  • 或者,将现有数据集内的感兴趣元素朝向开始移动(例如,将元素200-300移动到位置101-201,将元素350-400移动到位置202-252).然后调用H5Dset_extent()来减小数据集的大小.然后可以通过h5repack运行以释放可用空间.

由于即使删除了不感兴趣的元素,文件也可能非常大,我宁愿不重写它们(这需要很长时间),但似乎需要实际释放自由空间.来自HDF5专家的任何提示?

hdf5

16
推荐指数
1
解决办法
7487
查看次数

使用Python删除HDF存储中的键/表

是否有类似于以下的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功能.

谢谢!

python hdf5 pandas

8
推荐指数
1
解决办法
5467
查看次数

标签 统计

hdf5 ×2

pandas ×1

python ×1