Python 如何将30分钟的会话分组,并在熊猫上添加参考初始时间戳?

Python 如何将30分钟的会话分组,并在熊猫上添加参考初始时间戳?,python,pandas,time-series,Python,Pandas,Time Series,所以基本上我有一大堆用户进入我的网站,我需要他们按会话分组。会话是自第一次登录以来具有相同ID的30分钟连接。如果比赛时间超过30分钟,则视为新一轮比赛 样本输入: id,timestamp_datetime 1,2020-04-25 21:28:57.499 # Session 1 - first session 1,2020-04-25 21:41:41.691 1,2020-04-25 21:41:11.055 1,2020-04-25 22:00:00.015 # Session 1

所以基本上我有一大堆用户进入我的网站,我需要他们按会话分组。会话是自第一次登录以来具有相同ID的30分钟连接。如果比赛时间超过30分钟,则视为新一轮比赛

样本输入:

id,timestamp_datetime
1,2020-04-25 21:28:57.499 # Session 1 - first session
1,2020-04-25 21:41:41.691 
1,2020-04-25 21:41:11.055
1,2020-04-25 22:00:00.015  # Session 1 - second session (more then 30 minutes)
2,2020-04-25 21:41:41.691  # Session 2 - first session
2,2020-04-25 22:00:00.015 
2,2020-04-25 22:30:03.838  # Session 2 - second session
3,2020-04-25 21:41:41.691
样本输出:

id, count_sessions
1, 2
2, 2
3, 1
我试过这个

df.groupby([df.index.to_period('30T'),"id"]).count()
但它给了我错误的结果。请帮我修一下。

类似于:

np.ceil(df.groupby('id').diff().cumsum()/30)
比如:

np.ceil(df.groupby('id').diff().cumsum()/30)

你解决了吗?如果你提供一个样本,我可以给它另一个上帝你解决它?如果你提供一个样品,我可以再试一试