【问题标题】:Concatenate two big pandas.HDFStore HDF5 files连接两个大 pandas.HDFStore HDF5 文件
【发布时间】:2015-05-09 05:49:08
【问题描述】:

这个问题在某种程度上与"Concatenate a large number of HDF5 files"有关。

我有几个巨大的 HDF5 文件(压缩后约 20GB),无法容纳 RAM。它们中的每一个都存储了几个相同格式的pandas.DataFrames,并且索引不重叠。

我想将它们连接成一个 HDF5 文件,其中所有 DataFrame 都正确连接。一种方法是逐块读取它们中的每一个,然后保存到单个文件中,但确实需要相当长的时间。

是否有任何特殊的工具或方法可以在不遍历文件的情况下做到这一点?

【问题讨论】:

    标签: python pandas hdf5 pytables


    【解决方案1】:

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

    你基本上可以做到:

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

    像这样执行多个操作将追加到 rhs 存储。

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

    【讨论】:

    • 太棒了;我在野外看到的第一次在现实世界中提到 Blaze。
    • 所以 Blaze 很棒。然而,这对我来说很奇怪。如上所述运行 odo 后,最终我得到了一大堆 stdout '关闭文件',我想所有提到的都是目标存储,而不是源。这听起来像是一个错误还是我错过了一些前置/后置步骤?
    猜你喜欢
    • 2011-07-17
    • 2014-05-18
    • 2014-10-04
    • 2018-10-10
    • 2017-10-11
    • 1970-01-01
    • 1970-01-01
    • 2015-09-01
    • 2012-03-07
    相关资源
    最近更新 更多