我正在寻找一种在两个数据框中合并信息的优雅方式。第一个数据框包含交易级别(TRANSID)的销售数据,包括项目编号(ITEMNO),销售日期(SALESDATE)和销售价格(SALESPRICE)的列。第二个数据框包含每个项目的推荐价格(RPRICE)信息和特定日期间隔(VALIDFROM,VALIDTO),因为建议价格可能随时间而变化。对于每个项目,间隔从不重叠。
为了调查销售价格是否与推荐价格相对应,我想将第二个数据框中的建议价格添加到第一个数据框。但是,随着建议价格的变化,联接应基于SALESDATE在有效性区间内的标准(VALIDFROM,VALIDTO)。
Data frame 1 example:
ITEMNO SALESDATE SALESPRICE TRANSID
A 2016-10-01 555 1
A 2016-11-04 555 2
A 2016-12-23 555 3
A 2017-01-12 555 4
Data frame 2 example
ITEMNO VALIDFROM VALIDTO RPRICE
A 2016-08-01 2017-01-10 555
A 2017-01-11 2017-05-20 500
Output should like this:
ITEMNO SALESDATE SALESPRICE TRANSID RPRICE
A 2016-10-01 555 1 555
A 2016-11-04 555 2 555
A 2016-12-23 555 3 555
A 2017-01-12 555 4 500
在上述情况下,由于建议价格在前一天发生变化,因此交易4未按建议价格进行。有没有人对如何做到这一点有任何想法?