小编Han*_*nsi的帖子

pandas read_csv内存消耗

我正在阅读以 csv 格式存储的巨大 Pandas(版本 18.1,故意)DataFrame(〜总计 30 GB)。然而,使用 read_csv 时,内存消耗会增长到初始 csv 的两倍。文件 --> 60 GB。我知道这个chunksize参数。然而,这要慢得多,并且并没有真正减少内存使用量。我用 4 GB 的 DataFrame 尝试过。读取 DataFrame 后,该脚本仍然消耗约 7 GB RAM。这是我的代码:

df = None

for chunk in pandas.read_csv(fn, chunksize=50000):
        if df is None:
                df = chunk
        else:
                df = pandas.concat([df, chunk])
Run Code Online (Sandbox Code Playgroud)

这只是一个简短的版本。我还知道,指定数据类型可以节省内存。这是我的问题。读取大熊猫数据帧的最佳方式(性能、内存)是什么?

memory memory-management out-of-memory python-3.x pandas

7
推荐指数
1
解决办法
5928
查看次数