我的输入数据框是;
ID Amount result
45 1 default
46 2 default
47 3 default
48 5 default
48 10 default
49 12 default
50 5 default
50 7 default
50 9 default
所需的输出为;
ID Amount result
45 1 default1
46 2 default1
47 3 default1
48 5 default1
48 10 default2
49 12 default1
50 5 default1
50 7 default2
50 9 default3
如果未更改ID,则默认字符串应像“ default1”,“ default2”这样增加。首先应始终为“ default1”。
您能帮我吗?
答案 0 :(得分:2)
使用groupby().cumcount()
:
df['result'] += df.groupby('ID').cumcount().add(1).astype(str)
输出:
ID Amount result
0 45 1 default1
1 46 2 default1
2 47 3 default1
3 48 5 default1
4 48 10 default2
5 49 12 default1
6 50 5 default1
7 50 7 default2
8 50 9 default3