gpt4 book ai didi

python - Pandas:合并数据框中的重复字符串

转载 作者:行者123 更新时间:2023-12-01 03:05:18 24 4
gpt4 key购买 nike

我有数据框。这是他们的一部分

       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):

>>> df.groupby([df.member_id, df.event_path]).agg({'event_duration':'sum', 'event_time': 'first'}).reset_index().reindex(columns=df.columns)

member_id event_time event_path event_duration
0 2016-12-27 04:17:16 youtube.com/watch?v=w5ZIb05NO58 69
1 2016-12-30 17:16:27 youtube.com/watch?v=6YM5UhnElcE 30
2 2016-12-30 17:16:01 youtube.com/watch?v=qZrQWA5IsKA 47

关于python - Pandas:合并数据框中的重复字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43492037/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com