Python 基于条件合并行
给定一个列名为“Session”和“List”的数据帧df: 我是否可以将“会话”的相同值的“列表”值组合在一起 我的方法 我试图通过创建一个新的数据帧来解决这个问题,并在维护会话计数器的同时遍历初始数据帧的行,如果我看到会话发生了变化,我会增加会话计数器 如果它没有改变,那么我将用逗号附加与该行值对应的列表值 每当会话发生变化时,我都使用strip去掉最后一个逗号(额外的) 初始数据帧Python 基于条件合并行,python,pandas,formatting,Python,Pandas,Formatting,给定一个列名为“Session”和“List”的数据帧df: 我是否可以将“会话”的相同值的“列表”值组合在一起 我的方法 我试图通过创建一个新的数据帧来解决这个问题,并在维护会话计数器的同时遍历初始数据帧的行,如果我看到会话发生了变化,我会增加会话计数器 如果它没有改变,那么我将用逗号附加与该行值对应的列表值 每当会话发生变化时,我都使用strip去掉最后一个逗号(额外的) 初始数据帧 Session List 0 1 a 1 1 b
Session List
0 1 a
1 1 b
2 1 c
3 2 d
4 2 e
5 3 f
Session List
0 1 a,b,c
1 2 d,e
2 3 f
所需数据帧
Session List
0 1 a
1 1 b
2 1 c
3 2 d
4 2 e
5 3 f
Session List
0 1 a,b,c
1 2 d,e
2 3 f
有人能提出更有效或更简单的建议吗
提前谢谢。使用
groupby
和apply
和reset\u index
:
>>> df.groupby('Session')['List'].agg(','.join).reset_index()
Session List
0 1 a,b,c
1 2 d,e
2 3 f
>>>