【发布时间】:2019-06-06 10:59:39
【问题描述】:
我有两个要合并的数据框,其中一个我有产品销售情况
product quantity client date door
0 81007104 30 0 2014-01-05 40
1 81007104 41 1 2014-07-05 44
还有另一个数据框,我有销售合同,所以
product client door valid_from valid_until contract_num
0 81007104 71 6 2013-02-01 2014-02-01 25470
1 81007104 71 6 2014-05-01 2014-11-01 25944
所以我想使用产品、客户、门和日期的列在有效从和有效截止之间的范围之间连接两个数据框。
没有日期,我认为会是
pd.merge(df1, df2, how='left', on=['product','client','door'])
但由于我希望日期介于 valid_from 和 valid_until 之间,因此之前的合并不起作用。
通过之前的合并,我得到了
product quantity date client door valid from valid until
0 81007104 44.0 2014-03-05 71 6 2013-02-01 2014-02-01
1 81007104 44.0 2014-03-05 71 6 2014-05-01 2014-11-01
2 81007104 44.0 2014-03-05 71 6 2014-11-02 2015-07-20
但是日期不在valid_from和valid_until之间,因为我想要的是日期在valid_from和valid_until的范围内
product quantity date client door valid from valid until
0 81007104 44.0 2014-01-05 71 6 2013-02-01 2014-02-01
1 81007104 44.0 2014-07-02 71 6 2014-05-01 2014-11-01
2 81007104 44.0 2015-06-01 71 6 2014-11-02 2015-07-20
【问题讨论】: