根据其他列的值创建累积计数

时间:2020-07-29 05:07:43

标签: python pandas pandas-groupby

我设置的数据非常接近以下数据:

Letter   Year  ID 
Z        2019  872 
A        2020  182  
A        2020  182 
B        2019  112  
C        2020  112 
A        2019  182  
C        2019  112 

我想创建一列,其中ID,年级和字母内的计数一直保持在下面。我们想要跟踪某个员工某年的累积计数的想法是相同的。

Letter   Year  ID   Count  
Z        2019  872    1   
A        2020  182    1  
A        2020  182    2  
B        2019  112    1  
C        2020  112    1  
A        2019  182    1  
C        2019  112    1  

1 个答案:

答案 0 :(得分:1)

尝试:

df['Count'] = df.groupby(['Letter','Year']).cumcount() + 1

OR

df['Count'] =  df.groupby(['Letter', 'Year', 'ID']).cumcount() + 1

输出:

  Letter  Year   ID  Count
0      Z  2019  872      1
1      A  2020  182      1
2      A  2020  182      2
3      B  2019  112      1
4      C  2020  112      1
5      A  2019  182      1
6      C  2019  112      1