我有数据帧。这是他们的一部分
member_id event_time event_path event_duration \
0 2333678 2016-12-27 04:17:16 youtube.com/watch?v=w5ZIb05NO58 12
1 2333678 2016-12-27 04:17:26 youtube.com/watch?v=w5ZIb05NO58 12
2 2333678 2016-12-27 04:17:36 youtube.com/watch?v=w5ZIb05NO58 10
3 2333678 2016-12-27 04:17:40 youtube.com/watch?v=w5ZIb05NO58 35
4 5611206 2016-12-30 17:16:01 youtube.com/watch?v=qZrQWA5IsKA 35
5 5611206 2016-12-30 17:16:10 youtube.com/watch?v=qZrQWA5IsKA 12
6 5611206 2016-12-30 17:16:27 youtube.com/watch?v=6YM5UhnElcE 10
7 5611206 2016-12-30 17:16:37 youtube.com/watch?v=6YM5UhnElcE 10
8 5611206 2016-12-30 17:16:47 youtube.com/watch?v=6YM5UhnElcE 10
期望输出
member_id event_time event_path event_duration
0 2333678 2016-12-27 04:17:16 youtube.com/watch?v=w5ZIb05NO58 69
4 5611206 2016-12-30 17:16:01 youtube.com/watch?v=qZrQWA5IsKA 47
6 5611206 2016-12-30 17:16:27 youtube.com/watch?v=6YM5UhnElcE 30
我用
g = (df.event_path != df.event_path.shift()).cumsum()
df = (df.groupby([df.member_id, df.event_time, g], sort=False).agg({'event_duration':'sum', 'event_path':'first'})
.reset_index(level='event_path', drop=True)
.reset_index()
.reindex(columns=df.columns))
但它根本不存在。你知道吗
输出:
如果您想从
event_time
中为每个组创建第一个项目,您可以使用以下命令(您也将此命令用于event_path
):相关问题 更多 >
编程相关推荐