为了账号安全,请及时绑定邮箱和手机立即绑定

删除数据帧但仍会丢失内存

删除数据帧但仍会丢失内存

眼眸繁星 2021-05-13 18:19:48
我有两个大型数据帧,分别称为df0(1.2亿个obs)和df1(5000万个obs)。它们具有相同的44个变量(作为列)。我需要附加数据,以便新数据框具有120 + 50 = 170百万个观测值和44列。我用:frames = [df0, df1]df = pd.concat(frames, ignore_index=True)ordf = df0.append(df1, ignore_index=True)他们工作得很好。但是当我使用删除df0和df1时del df0del df1系统不会释放内存。我已经读过stackoverflow,这对于python /其他语言来说是很典型的。但是,在此之后,我遇到了内存问题,并且python无法释放该内存。关于如何避免消耗太多内存的任何建议?已解决:正如juanpa.arrivillaga所指出的,尚存的引用将意味着该数据帧将不会被删除。一旦删除了对数据帧的所有引用,删除数据帧后就释放了内存。
查看完整描述

1 回答

?
扬帆大鱼

TA贡献1799条经验 获得超9个赞

import gc

del df0

del df1 

gc.collect()

原因是删除df0和df1时,程序仅删除对内存中数据的引用。执行gc.collect()时,它将检查内存中未使用的那些数据并将其删除。


查看完整回答
反对 回复 2021-05-25
  • 1 回答
  • 0 关注
  • 114 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信