【发布时间】:2018-07-06 01:05:36
【问题描述】:
我有一个由以下代码生成的数据框:
l_dates = ['2017-01-01 19:53:36',
'2017-01-01 19:54:36',
'2017-01-03 18:15:13',
'2017-01-03 18:18:11',
'2017-01-03 18:44:35',
'2017-01-07 12:50:48']
l_ids = list(range(len(l_dates)))
l_values = [x*1000-1 for x in l_ids]
l_data = list(zip(l_dates, l_ids, l_values))
df1_ = pd.DataFrame(data = l_data, columns = ['timeStamp', 'usageid', 'values'])
在这个版本中如下所示
timeStamp usageid values
0 2017-01-01 19:53:36 0 -1
1 2017-01-01 19:54:36 1 999
2 2017-01-03 18:15:13 2 1999
3 2017-01-03 18:18:11 3 2999
4 2017-01-03 18:44:35 4 3999
5 2017-01-07 12:50:48 5 4999
我想根据紧密结合的观察结果组成小组。例如,应将 15 分钟时间间隔内的所有观测值组合在一起。
我知道我可以按如下方式以成对的方式识别这些观察结果
df_user10241['timeStamp'] < pd.Timedelta(minutes=15)
但是,我没有设法将它们分组。我得到如下数据框:
timeStamp usageid values session
0 2017-01-01 19:53:36 0 -1 Session1
1 2017-01-01 19:54:36 1 999 Session1
2 2017-01-03 18:15:13 2 1999 Session2
3 2017-01-03 18:18:11 3 2999 Session2
4 2017-01-03 18:44:35 4 3999 Session3
5 2017-01-07 12:50:48 5 4999 Session4
非常感谢,如果您需要更多信息,请告诉我。
【问题讨论】:
标签: python python-3.x pandas pandas-groupby