gpt4 book ai didi

python - DataFrame .loc 泄漏内存

转载 作者:行者123 更新时间:2023-11-28 18:44:02 46 4
gpt4 key购买 nike

我通过这段代码发现了 Pandas 的另一个内存泄漏:

  import pandas as pd
store = pd.HDFStore(hdf[0])
par = store[hdf[1]][:, hdf[2]]
store.close()

for pixel in pix_fac.itervalues():
fac = pixel[4][::2]
meas = array(par.loc[fac])

100% 的计算机内存在几秒钟内达到,卡住一切。我使用 Debian 2.30、Intel i5、8 GB 内存。

我认为这与以下问题有关:

memory leak in creating a buffer with pandas?

Memory leak using pandas dataframe

有人知道我该如何处理这种泄漏?我真的必须使用 .loc 方法来检索每次迭代的特定参数。

最佳答案

您可以每隔一段时间尝试一次gc.collect()

更好的做法是:par = par.T,然后通过 par[fac] 选择。这样您就不会每次都获取一个横截面,根据定义,它会在您保留对它的引用时创建一个副本(并且很容易只保留分配内存)。

更好的方法是重构此计算以避免此类选择并将其矢量化。

关于python - DataFrame .loc 泄漏内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22657383/

46 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com