Python 大熊猫:统计4天内2次访问的次数
我有一个熊猫数据帧,Python 大熊猫:统计4天内2次访问的次数,python,pandas,Python,Pandas,我有一个熊猫数据帧,df,看起来像这样: user_id, date_of_visit 1, 1/5/12 1, 1/6/12 2, 1/6/12 2, 1/11/12 2, 1/27/12 我正在尝试查找user\u ids,其中用户在4天窗口内的两个不同日期访问过。因此,上面的正确输出应该是[1] 从一个相关问题来看,我有: df.groupby('user_id').filter(lambda x : x.set_in
df
,看起来像这样:
user_id, date_of_visit
1, 1/5/12
1, 1/6/12
2, 1/6/12
2, 1/11/12
2, 1/27/12
我正在尝试查找user\u id
s,其中用户在4天窗口内的两个不同日期访问过。因此,上面的正确输出应该是[1]
从一个相关问题来看,我有:
df.groupby('user_id').filter(lambda x : x.set_index('date_of_visit').rolling('4d').count().gt(1).any()).user_id.unique()
上述代码的问题在于,它没有解决用户在同一天访问多次的可能性。如果我有:
user_id, date_of_visit
1, 1/5/12
1, 1/5/12
上面的代码将输出[1]
,因为用户1在四天的窗口中访问了两次。但是,我只希望在4天窗口内的两天内访问过的用户。因此,输出中不应包括用户1
知道如何修改以强制执行此约束吗
谢谢 一种可能性是在运行代码之前,根据
用户id
和访问日期
删除重复项:
df.drop_duplicates(['user_id', 'date_of_visit']).groupby('user_id').filter(lambda x : x.set_index('date_of_visit').rolling('4d').count().gt(1).any()).user_id.unique()