Pandas 向df中的索引添加数字前缀,并在出现其他名称时重置它

Pandas 向df中的索引添加数字前缀,并在出现其他名称时重置它,pandas,Pandas,我有以下建议: xx A 5 A 7 A 4 B 4 B 7 B 6 我如何添加这样的升序数字前缀: xx 1_A 5 2_A 7 3_A 4 1_B 4 2_B 7 3_B 6 按每个索引创建计数器系列,并将level=0与转换为字符串一起添加1,然后添加到索引值: df.index = df.groupby(level=0).cumcou

我有以下建议:

      xx
 A     5
 A     7
 A     4
 B     4 
 B     7
 B     6
我如何添加这样的升序数字前缀:

        xx
 1_A     5
 2_A     7
 3_A     4
 1_B     4 
 2_B     7
 3_B     6
按每个索引创建计数器系列,并将
level=0
与转换为字符串一起添加
1
,然后添加到索引值:

df.index = df.groupby(level=0).cumcount().add(1).astype(str) + '_' + df.index
或使用:


df.index = df.groupby(level=0).cumcount().add(1).astype(str).str.cat(df.index, sep='_')
print (df)
     xx
1_A   5
2_A   7
3_A   4
1_B   4
2_B   7
3_B   6