计算2个数据框中项目的出现次数,然后检查比较2个日期

时间:2018-05-11 17:27:35

标签: python python-3.x pandas dataframe

我目前正在尝试获取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的行。

1 个答案:

答案 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