连接两个大的pandas.HDFStore HDF5文件。

9
这个问题与"合并大量HDF5文件"有关。我有几个巨大的HDF5文件(~20GB压缩),无法放入RAM中。每个文件都存储了几个格式相同且索引不重叠的pandas.DataFrame。我想将它们连接起来,得到一个正确连接所有数据框的单个HDF5文件。一种方法是逐块读取每个文件,然后保存到单个文件中,但这确实需要相当长的时间。是否有任何特殊的工具或方法可以在不迭代文件的情况下完成此操作?
1个回答

12

请查看这里的文档,了解odo项目(前身为into)。请注意,如果您使用into库,则参数顺序已更改(这是更改名称以避免混淆的动机!)

您基本上可以执行以下操作:

from odo import odo
odo('hdfstore://path_store_1::table_name',
    'hdfstore://path_store_new_name::table_name')

进行多个此类操作将附加到右侧存储中。

这将自动为您执行块操作。


1
太棒了!这是我在现实世界中看到的Blaze首次提及。 - Veedrac
所以Blaze很棒。但是对我来说,它的工作方式有些奇怪。在像上面那样运行odo之后,最终我会得到一个巨大的stdout堆栈,“closing file”,我认为所有的都提到了目标存储而不是源。这听起来像是一个bug还是我错过了一些先决步骤/后置步骤? - KobeJohn

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接