Python Pandas:对DataFrame进行子集化时的内存问题

时间:2017-11-22 19:42:34

标签: python pandas dataframe memory subset

我正在使用一些大的pandas DataFrame。我意识到在将一个DataFrame的子集分配给自身时,内存使用情况(在Win Task Manager中监视)没有减少。例如,如果有一个大的DataFrame df需要大约10GB个内存,那么在执行如下操作之后:

df = df[df['v1']==1]

甚至

df = df.loc[0:10]

任务管理器中的内存使用行根本不会改变。

我已经搜索了一段时间并在这里和那里阅读了一些帖子 - 但找不到可理解的原因或解决方案。任何帮助表示赞赏!

有没有办法减少内存使用量?我读了一些帖子,建议在开始时阅读较少的数据,但在我的情况下,这个解决方案似乎相当困难。

1 个答案:

答案 0 :(得分:0)

一种对我有用的解决方案是就地删除每一列/行。

for x in range(0,10):
    df.drop(x, inplace=True, axis=0)