如何迭代组中的每条记录

How to iterate each record in a group

我想添加一个迭代组值的列。数据框已根据需要预先排序:

Index :|: GRP BY Col :|: New Col:|  
0     :|: 1          :|: 0      :|
1     :|: 1          :|: 1      :|   
2     :|: 1          :|: 2      :|   
3     :|: 2          :|: 0      :|   
4     :|: 2          :|: 1      :|    

我觉得你需要cumcount:

df = pd.DataFrame({'GRP BY Col':[1,1,1,2,2]})
df['New Col'] = df.groupby('GRP BY Col').cumcount()
print (df)
   GRP BY Col  New Col
0           1        0
1           1        1
2           1        2
3           2        0
4           2        1