python - 删除 dataframe 列时 pandas 内存泄漏?

标签 python memory numpy pandas memory-leaks

我有一些如下代码

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/

相关文章:

python - 找到一个python变换函数或numpy矩阵将偏斜正态分布变换为正态分布

Python/Pandas - 根据条件过滤行

python - 可以在不使用括号的情况下调用单参数 Python 函数吗?

mysql - 我应该使用 MEMORY (HEAP) 引擎还是 MyISAM 引擎创建 Mysql 表?

python-3.x - Pandas [.dt] 属性与 to_datetime

python - 用于平滑零区域的 Numpy 过滤器

python - 理解字符串的真实性

python - 网页抓取 - 网页登录问题

php - 将二进制数组转换为十进制字符串奇怪的行为

c# - C# 如何为 List<T> 动态分配内存?