У меня есть следующий df:
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
Создать счетчик Series по GroupBy.cumcount и level=0 для каждого индекса, добавить 1 с преобразованием в строки и добавить к значениям индекса:
GroupBy.cumcount
level=0
1
df.index = df.groupby(level=0).cumcount().add(1).astype(str) + '_' + df.index
Или использовать Series.str.cat:
Series.str.cat
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