根据条件组合熊猫行[重复]
Posted
技术标签:
【中文标题】根据条件组合熊猫行[重复]【英文标题】:Combining pandas rows based on condition [duplicate] 【发布时间】:2019-11-03 03:40:10 【问题描述】:给定一个 Pandas Dataframe df,列名为“Session”和“List”:
我可以将“会话”的相同值的“列表”值组合在一起吗?
我的方法
我尝试通过创建一个新数据框并迭代初始数据框的行来解决该问题,同时维护一个会话计数器,如果我看到会话已更改,我会增加该计数器。
如果它没有改变,那么我用逗号附加与该行值对应的 List 值。
每当会话发生变化时,我都会使用 strip 去掉最后一个逗号(额外的)。
初始数据帧
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
有人可以提出更有效或更简单的建议吗?
提前谢谢你。
【问题讨论】:
【参考方案1】:使用groupby
和apply
和reset_index
:
>>> df.groupby('Session')['List'].agg(','.join).reset_index()
Session List
0 1 a,b,c
1 2 d,e
2 3 f
>>>
【讨论】:
以上是关于根据条件组合熊猫行[重复]的主要内容,如果未能解决你的问题,请参考以下文章