在Python中使用后释放缓冲区空间?

时间:2016-03-30 19:57:24

标签: python pandas google-cloud-datalab

所以我使用Google云数据实验室并使用%% storage read命令将大文件(2,000,000行)读入text变量,然后我必须将其处理为使用BytesIO的pandas数据帧,例如df_new=pd.read_csv(BytesIO(text))

所以现在我不需要text变量或其内容,(所有进一步处理都在df_new完成,如何删除它(text)和释放记忆(我肯定不需要两个200万记录数据集的副本......)

1 个答案:

答案 0 :(得分:3)

使用del,然后强制垃圾回收。

import gc

# Remove text variable
del text
# Force gc collection - this not actually necessary, but may be useful.
gc.collect()

请注意,您可能看不到进程大小减少和内存返回到OS,具体取决于所使用的内存分配器(取决于操作系统,使用的核心库和python编译选项)。