DataFrame单元访问性能低下

时间:2018-06-12 10:31:45

标签: python performance pandas optimization

我使用DataFrame代替常规dict来提高性能,因为它们在内部使用numpy数组。然而,访问一个小区似乎对性能产生了可怕的影响。

我的DataFrame看起来像这样:

df = pd.DataFrame(columns=models1, index=models2).fillna(STATE1).stack()

列的类型是Django models.Model子类和STATE1,所有其他状态都只是整数。

我经常需要检查是否df[m1, m2] == state_n但显然只是访问单元格df[m1, m2]需要很长时间:当我运行使用此语句的整个事情时,总执行时间为0.15秒,但是当包含该陈述时,它需要0.25秒。这是一个应该是O(1)的操作的大量增加,并且该语句仅执行了9216次。

这里发生了什么?如何优化其性能?

0 个答案:

没有答案