df = df2.merge(df1, on = 'item', how = 'left')
df[['date', 'date1', 'date2']] = df[['date', 'date1', 'date2']].apply(pd.to_datetime)
df = df[ (df['date'] >=df['date1']) & (df['date'] <=df['date2'])]
df = df.groupby(['item','date1','date2']).agg({'quantity':'sum'}).reset_index()
output:
item date1 date2 quantity
0 1 2020-06-21 2020-06-28 17
1 2 2020-05-13 2020-05-24 48
2 3 2020-06-20 2020-06-28 33
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…