добавить числовой префикс к индексу в df и сбросить его при появлении другого имени - PullRequest
1 голос
/ 14 октября 2019

У меня есть следующий 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

1 Ответ

1 голос
/ 14 октября 2019

Создать счетчик Series по GroupBy.cumcount и level=0 для каждого индекса, добавить 1 с преобразованием в строки и добавить к значениям индекса:

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

Или использовать 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...