我正在使用一些大的pandas
DataFrame。我意识到在将一个DataFrame的子集分配给自身时,内存使用情况(在Win Task Manager
中监视)没有减少。例如,如果有一个大的DataFrame df需要大约10GB
个内存,那么在执行如下操作之后:
df = df[df['v1']==1]
甚至
df = df.loc[0:10]
任务管理器中的内存使用行根本不会改变。
我已经搜索了一段时间并在这里和那里阅读了一些帖子 - 但找不到可理解的原因或解决方案。任何帮助表示赞赏!
有没有办法减少内存使用量?我读了一些帖子,建议在开始时阅读较少的数据,但在我的情况下,这个解决方案似乎相当困难。
答案 0 :(得分:0)
一种对我有用的解决方案是就地删除每一列/行。
for x in range(0,10):
df.drop(x, inplace=True, axis=0)