我目前正在尝试获取2个数据帧,看一下是否出现2列,然后比较并查看这些是否在同一天发生,因此数据示例如下:
df1:
user Last_used
user1 10-7-2017
user2 10-20-2018
user3 1-12-2015
df2:
user occurence
user1 10-7-2017
user1 10-7-2017
user2 10-10-2017
user2 10-20-2018
user3 1-12-2015
user3 09-14-2016
我的结果将是:
df1
user Last_used occurrences_that_day
user1 10-7-2017 2
user2 10-20-2018 1
user3 1-12-2015 1
我知道我可以使用map使用其中一个值执行此操作,但是如果我尝试映射上次使用和出现并且此日期有倍数,则即使用户ID为differet也会显示
我应该注意的一件事是我的数据帧都有超过150k的行。
答案 0 :(得分:1)
您可以使用merge
groupby
agg
df1.merge(df2,left_on=['user','Last_used'],right_on=['user','occurence']).groupby('user').occurence.agg(['count','last'])
Out[129]:
count last
user
user1 2 10-7-2017
user2 1 10-20-2018
user3 1 1-12-2015