当前位置: 代码迷 >> python >> 为每个组创建一个子组
  详细解决方案

为每个组创建一个子组

热度:27   发布时间:2023-07-14 08:42:50.0

我有一个数据框,如下所示:

orderid ? ? ordername 
1 ? ?? ?? ? a
1 ? ?? ?? ? b
1 ? ?? ?? ? c
2 ? ?? ?? ? d
2 ? ?? ?? ? e
3 ? ?? ?? ? f

我想为每个orderid创建一个suborder_id列。

suborder_id
   1
   2
   3
   1
   2
   1


我用了:

def get_suborder_id(???)
     df['suborder_id'] = ????
     return df
df = df.groupby('orderid').apply(get_suborder_id)


但是,我不清楚它是如何工作的。 请帮助我了解这一点!!!

这更像是cumcount

df['subid']=df.groupby('orderid').cumcount()+1
  相关解决方案