我想创建下表。
所需表
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
我目前在表格中只有ID
和coverage
,需要添加count
列。我希望它从1开始,在同一ID下相同的覆盖范围内计数+1。
在SQL中,它将涉及ID
和Coverage
的分组,但我不知道在python中从哪里开始。
答案 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