内存和磁盘上的不同文件大小

2024-04-19 01:11:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我刚刚用pandas'to_csv函数写了一个csv文件。我可以看到磁盘上这个文件的大小是13GB。我想用pd.read_csv把这个文件读回pandasdataframe。在读取此文件时,我监视服务器的内存使用情况。结果表明,读取此文件所消耗的内存为30GB+,并且该文件从未被读入。我的jupyter notebook内核死了,我必须再次启动这个过程。你知道吗

我的问题是,为什么会发生这种行为?写和读文件是一段非常简单的代码,为什么空间要求不同呢?最后,我如何读入这个文件?你知道吗


Tags: 文件csvto函数内存服务器pandasread
1条回答
网友
1楼 · 发布于 2024-04-19 01:11:46

在加载时使用块来最小化内存使用。你知道吗

import pandas as pd
chunksize = 10 ** 8
chunks=pd.read_csv(filename, chunksize=chunksize):
df=pd.concat(chunks, ignore_index=True)

如果这不起作用,这将调用for循环中的垃圾收集器,并可能会有一些小的性能改进

import pandas as pd
import gc
chunksize = 10 ** 8
dfs = []
for chunk in pd.read_csv(filename, chunksize=chunksize):
    dfs.append(chunk)
    gc.collect()
final_df = pd.concat(dfs)

相关问题 更多 >