根据其他字段创建计数器

时间:2018-03-07 20:03:54

标签: python pandas numpy

我想创建下表。

所需表

ID     Coverage   Count
1      A          1
1      A          2
1      A          3
1      B          1
2      C          1
2      A          1
2      A          2
2      C          2

我目前在表格中只有IDcoverage,需要添加count列。我希望它从1开始,在同一ID下相同的覆盖范围内计数+1。

在SQL中,它将涉及IDCoverage的分组,但我不知道在python中从哪里开始。

1 个答案:

答案 0 :(得分:2)

您需要cumcount

df['Newcount']=df.groupby(['ID','Coverage']).cumcount()+1
df
Out[588]: 
   ID Coverage  Count  Newcount
0   1        A      1         1
1   1        A      2         2
2   1        A      3         3
3   1        B      1         1
4   2        C      1         1
5   2        A      1         1
6   2        A      2         2
7   2        C      2         2