我有一个数据框df
df
Name
0 A
1 A
2 B
3 B
4 C
5 D
6 E
7 F
8 G
9 H
如何重命名数据框的构思以便
df
Name
0_A A
1_A A
0_B B
1_B B
0_C C
0_D D
0_E E
0_F F
0_G G
0_H H
基本上我想使用列中的值" Name"并在每次值改变时重新开始编号..
答案 0 :(得分:2)
使用cumcount
计数,更多可能的连接解决方案在previous answer中:
print (df.groupby('Name').cumcount().astype(str))
0 0
1 1
2 0
3 1
4 0
5 0
6 0
7 0
8 0
9 0
dtype: object
df.index = df.groupby('Name').cumcount().astype(str) + '_' + df['Name']
print (df)
Name
0_A A
1_A A
0_B B
1_B B
0_C C
0_D D
0_E E
0_F F
0_G G
0_H H