高效查询DataFrame

时间:2017-09-09 19:05:52

标签: python performance pandas query-performance

我有一个非常大的DataFrame(超过10米行),这是它的列的简化版本:

Date    Owner     <Other Columns...>

我查询它,使得Date在某个范围内,所有者在某个列表中:

df[(df.Date > start_date) & (df.Date < end_date) & df.Owner.isin(relevant_owners)]

这是我的代码中最耗时的部分。

我已经尝试将相关用户从列表更改为设置,因为我认为查找时间为o(1)会提高性能 - 但它实际上使其大约慢了10倍。

通过使用字典而不是DataFrame来存储数据,我设法获得了30%的性能提升,但如果我能提高数据效率,我希望保留DataFrame。

0 个答案:

没有答案