Python 3.x 为什么在调用数据帧上的值之前会出现数据帧泄漏?

Python 3.x 为什么在调用数据帧上的值之前会出现数据帧泄漏?,python-3.x,pandas,memory-leaks,Python 3.x,Pandas,Memory Leaks,我有一种情况,我有一个非常大的数据帧,由于内存限制,大部分处理是用数据类型float 16完成的。在这个过程的某一点上,我将当前结果保存到缓存中,而拼花地板格式需要float 32——因此我在这一点上转换。(此时,我的聚合数据可以放入内存中。) (对于每个float列,我执行df[col]=df[col].astype('float32')) 我遇到的问题是,在我将所有列转换为float32之后;出现泄漏的内存量正好是原始float16数据帧的大小。我不知道如何发布它 在我的玩乐中;我确实发现了

我有一种情况,我有一个非常大的数据帧,由于内存限制,大部分处理是用数据类型float 16完成的。在这个过程的某一点上,我将当前结果保存到缓存中,而拼花地板格式需要float 32——因此我在这一点上转换。(此时,我的聚合数据可以放入内存中。)

(对于每个float列,我执行df[col]=df[col].astype('float32'))

我遇到的问题是,在我将所有列转换为float32之后;出现泄漏的内存量正好是原始float16数据帧的大小。我不知道如何发布它

在我的玩乐中;我确实发现了一种产生类似问题的方法(尽管与我的不完全相同)

如果我第一次省略df.values.flags,则不会显示内存泄漏。如果我插入它;内存泄漏一直存在,直到我再次调用它。我希望知道为什么会发生这种情况会帮助我解决我的问题,因为它非常相似

df = pd.DataFrame(index=range(1024**3))
df[0] = 1.0
df.values.flags
df[0] = df[0].astype('float16')
# too much memory being utilized until the next line is called
df.values.flags