根据条件组合熊猫行[重复]

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

使用groupbyapplyreset_index

>>> df.groupby('Session')['List'].agg(','.join).reset_index()
   Session   List
0        1  a,b,c
1        2    d,e
2        3      f
>>> 

【讨论】:

以上是关于根据条件组合熊猫行[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何根据条件表达式从熊猫数据框中删除行[重复]

根据熊猫中的条件删除重复的列

根据熊猫数据框中其他列的条件和值创建新列[重复]

熊猫if else条件多列[重复]

在熊猫中按多个条件分组[重复]

熊猫:LEFT OUTER JOIN where(ON)2个匹配的条件[重复]