【发布时间】:2021-04-01 09:03:57
【问题描述】:
我想根据所售商品在日期范围内、价格匹配和商品 ID 匹配的条件合并两个数据框。非匹配项也需要保留,并标记为非事件。
销售数据:
Date ID Price
1/1/2020 3 9.99
1/1/2020 4 5.99
1/2/2020 10 69.99
1/10/2020 4 5.99
1/11/2020 3 10.99
促销数据:
Start_Date End_Date ID Price Promo
1/1/2020 1/8/2020 3 9.99 Event1
1/1/2020 1/8/2020 4 5.99 Event1
1/1/2020 1/8/2020 10 49.99 Event1
想要的结果:
Date ID Price Promo
1/1/2020 3 9.99 Event1
1/1/2020 4 5.99 Event1
1/2/2020 10 69.99 Non-Event
1/10/2020 4 5.99 Non-Event
1/11/2020 3 10.99 Non-Event
我已经坚持了很长一段时间。我尝试了几种不同的方法,包括merge_asof、numpy.piecewise 和pandasql,但这似乎有点超出我目前的技能上限。非常感谢任何帮助。
【问题讨论】:
标签: python pandas dataframe numpy merge