作为预处理的一部分,我创建了很多数据帧。由于我有 6GB 内存限制,我想从 RAM 中删除所有不必要的数据帧,以避免在 scikit-learn 中运行 GRIDSEARCHCV 时内存不足。
1)是否有只列出内存中当前加载的所有数据帧的功能?
我尝试了 dir() 但它提供了除数据帧以外的许多其他对象。
2)我创建了一个要删除的数据框列表
del_df=[Gender_dummies,
capsule_trans,
col,
concat_df_list,
coup_CAPSULE_dummies]
&跑
for i in del_df:
del (i)
但它不会删除数据框。但是像下面这样单独删除数据帧就是从内存中删除数据帧。
del Gender_dummies
del col
原文由 GeorgeOfTheRF 发布,翻译遵循 CC BY-SA 4.0 许可协议
del
语句不删除一个实例,它只是删除一个名称。当您执行
del i
时,您只是删除了名称 i - 但该实例仍绑定到其他名称,因此它不会被垃圾收集。如果你想释放内存,你的数据帧必须是 Garbage-Collected ,即删除对它们的所有引用。
如果您动态创建日期帧以列出,则删除该列表将触发垃圾收集。
如果您创建了一些变量,则必须将它们全部删除。