Python 熊猫:在4天内找到具有2次交互的用户

Python 熊猫:在4天内找到具有2次交互的用户,python,pandas,Python,Pandas,我有一个熊猫数据帧,df,包含以下列: 用户id、访问日期 我要查找在任何4天窗口中至少访问过两次的所有用户ids。如果我有: 用户id、访问日期 1,1/4/15 1,1/6/15 2,1/4/15 2,1/12/15 2,1/23/15 然后我的函数将返回[1] 我可以浏览每一行,但我想知道是否有更好的方法来利用熊猫。也许是关于: df.groupby('user_id')… 谢谢 您可以在filter #df.date_of_visit=pd.to_datetime(df.date_of_

我有一个熊猫数据帧,
df
,包含以下列:

用户id、访问日期

我要查找在任何4天窗口中至少访问过两次的所有
用户id
s。如果我有:

用户id、访问日期

1,1/4/15

1,1/6/15

2,1/4/15

2,1/12/15

2,1/23/15

然后我的函数将返回
[1]

我可以浏览每一行,但我想知道是否有更好的方法来利用熊猫。也许是关于:

df.groupby('user_id')…


谢谢

您可以在
filter

#df.date_of_visit=pd.to_datetime(df.date_of_visit)

df.groupby('user_id').filter(lambda x : x.set_index('date_of_visit').rolling('4d').count().gt(1).any()).user_id.unique()
Out[525]: array([1], dtype=int64)

你能举个例子吗?谢谢你的帮助。我使用了您的方法,但get
TypeError:filter函数返回了一个序列,但需要一个标量bool
。如果有帮助,很乐意提供一个可复制的例子