我有两个包含事件列表的数据帧。例如,df1看起来像:
Person ID Date of event
a 01/01/2016 13:30
a 01/02/2016 18:35
b 07/07/2016 12:15
b 07/08/2016 19:15
Df2看起来很相似,但有一个不同事件的列表,例如:
Person ID Date of event2
a 01/12/2015 15:15
b 07/12/2015 18:15
b 11/12/2015 14:05
b 01/01/2017 16:30
我需要做的是在df1中有一个列,显示在df1中的日期之前,personid在df2中参与的事件数。你知道吗
上述装置的预期输出为:
Person ID Date of event 1 Number of events from DF2
a 01/01/2016 1
a 01/02/2016 1
b 07/07/2016 2
b 07/08/2016 2
我尝试了很多方法,并怀疑答案与df2上的pivot表有关,并将结果合并到df1中,但我似乎不能完全正确地理解这一点。你知道吗
非常感谢您的帮助!你知道吗
您可以通过将personId上的数据帧合并在一起,进行筛选,然后计数来实现这一点。你知道吗
得到
使用
apply()
选择符合您的条件的df2
数据,然后使用len()
获取大小。确保使用pd.to_datetime()
将日期转换为datetime。见下表:df1和df2准备:
代码:
结果:
相关问题 更多 >
编程相关推荐