2
我已经确定另一存储与熊猫泄漏:计算机存储器的数据帧的.loc通过这段代码泄漏内存
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 RAM。
我相信这与下列问题有关:
memory leak in creating a buffer with pandas?
Memory leak using pandas dataframe
有人知道如何可以我处理这个泄漏?我真的必须使用.loc方法来检索每次迭代的特定参数。
实际上,我发现如果将浮点值输入到.loc中,但索引是整数(反之亦然),则熊猫不返回错误,但会建立内存。奇怪的行为。 –
您不应该将float值用作索引器,它现在可以工作,但将来会被弃用。真的很难看到你正在做的没有显示更多的代码/结构。 – Jeff
是的,我明白了。使用Float作为索引是一个错误。我将所有内容都转换为整数我偶然看到了这个错误,这就是为什么我没有在问题中强调它的原因。 –