我有一些如下代码
df = ..... # load a very large dataframe
good_columns = set(['a','b',........]) # set of "good" columns we want to keep
columns = list(df.columns.values)
for col in columns:
if col not in good_columns:
df = df.drop(col, 1)
奇怪的是,它成功地删除了不好的第一列 - 所以这不是我同时在内存中保存旧数据帧和新数据帧并且空间不足的问题。它在删除第二列时中断(MemoryError)。这让我怀疑存在某种内存泄漏。我该如何防止此错误发生?
最佳答案
您可能会不断返回一个新的非常大的数据帧。 尝试设置drop inplace 参数设置为 True。
关于python - 删除 dataframe 列时 pandas 内存泄漏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28909986/