申请熊猫的最快方法

时间:2020-07-01 05:59:11

标签: python pandas dataframe

我有两个数据框

                 df1
    date_start   date_end   ID

                 df2
    ID   timestamp   quantity

,并希望获得每个元组(在df1中)(date_start,date_end,ID)在相应期间[date_start,date_end]中的相对于该ID的数量之和(在df2中)。

如果我有成千上万的行并且df1中有很多重复,我该如何进行?

我尝试了df1.drop_duplicates().apply(lambda x: df2[(df2['timestamp'] >= x['date_start']) & (df2['timestamp'] <= x['date_end']) & (df2['ID'] == x['ID'])]['quantity'].sum())

但是需要太多时间!

谢谢

0 个答案:

没有答案