我有一个熊猫数据框,如下所示:
event_id timestamp
0 e0 2015-07-20 12:00:56
1 e0 2015-07-20 13:00:56
2 e1 2015-07-20 01:30:00
3 e1 2015-07-20 02:30:00
4 e1 2015-07-20 03:00:00
5 e2 2015-07-20 18:45:00
6 e2 2015-07-20 18:47:00
7 e2 2015-07-20 18:48:00
8 e2 2015-07-20 18:49:00
我想计算每个事件产生的总时间:
timestamp count (minutes)
event_id
e0 2015-07-20 13:00:56 60.0
e1 2015-07-20 03:00:00 90.0
e2 2015-07-20 18:49:00 4.0
使用groupby
和agg
s = df.groupby('event_id').timestamp.diff().div(pd.Timedelta(minutes=1))
df.assign(minutes=s).groupby('event_id').agg({'timestamp': 'last', 'minutes': 'sum'})
timestamp minutes
event_id
e0 2015-07-20 13:00:56 60.0
e1 2015-07-20 03:00:00 90.0
e2 2015-07-20 18:49:00 4.0
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句