【问题标题】:what is the best way to read big data and pd.concat读取大数据和 pd.concat 的最佳方法是什么
【发布时间】:2022-01-22 02:19:45
【问题描述】:

假设我有两个非常大的 hdf 文件,我将读取它们并连接它们。

data = pd.concat([
pd.read_hdf("file1.hdf", key='data'),
pd.read_hdf("file2.hdf", key='data')
])

假设每个文件占用 10G 内存,而我们知道,上面的代码将占用 40g的峰值内存使用。但问题是我的电脑内存只有 32g,不知道有没有什么好的方法可以读取它们并concat inplace so peak 内存使用量为 20g?

【问题讨论】:

    标签: python pandas memory


    【解决方案1】:

    如果你想使用 Pandas,我会输入一个 chunksize 参数。这将创建一个您可以通过的数据迭代器。

    或者,尝试 pyspark 或 dask。 Dask 本质上是 pandas,但让我们同时并行化管道而不是加载整个数据集。

    【讨论】:

    • 我明白了,出于某种目的,chunksize 将是一个很好的解决方案。我只是想知道我是否可以就地处理。
    猜你喜欢
    • 2010-09-24
    • 2016-08-10
    • 2018-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-06
    • 1970-01-01
    相关资源
    最近更新 更多