I have two dataframes:
DF1:
StartDate Location
2013-01-01 20000002
2013-03-01 20000002
2013-08-01 20000002
2013-01-01 20000003
2013-03-01 20000003
2013-05-01 20000003
2013-01-01 20000043
DF2:
EmpStartDate Location
2012-12-17 20000002.0
2013-02-25 20000002.0
2013-06-26 20000002.0
2012-09-24 20000003.0
2013-01-07 20000003.0
2013-07-01 20000043.0
我希望得到DF1.Location等于DF2.Location且DF2.EmpStartDate小于等于DF1.StartDate的DF2计数。
输出:
StartDate Location Count
2013-01-01 20000002 1
2013-03-01 20000002 2
2013-08-01 20000002 3
2013-01-01 20000003 1
2013-03-01 20000003 2
2013-05-01 20000003 2
2013-01-01 20000043 0
我正在使用merge_asof函数,将DF2.EmpStartDate和DF1.StartDate进行匹配,然后按照Location和StartDate进行分组以达到某种目的。但是由于我仅在日期列上合并,所以结果不正确,我需要根据Location和Date两个列来合并数据帧。看起来merge_asof函数不支持在多个列上进行合并操作。那么我该如何在不同Location组的日期列之间进行合并?
merge_asof
只能生成1:1的合并结果,因此我认为这不是您在这里想要的。”-- 您为什么这样说?操作有许多情况可以在“左”数据帧中的多个行上使用相同的数据。 - Nunnsy