Создание нового столбца из другого столбца + уникальный номер c индекс в pandas массив данных - PullRequest
0 голосов
/ 21 апреля 2020

У меня есть фрейм данных, в котором несколько строк столбца имеют одинаковое значение:

   unique_code      0
0   p01_PAR_1  zertara
1   p01_PAR_1    atera
2   p01_PAR_1       da
3   p01_MOT_1       ez
4   p01_MOT_1    dakit

Я хотел бы повторить этот столбец или создать новый с одним уникальным значением, добавив индекс нумерации c после значения , поэтому он будет выглядеть примерно так:

   unique_code       0
0   p01_PAR_1_1  zertara
1   p01_PAR_1_2    atera
2   p01_PAR_1_3       da
3   p01_MOT_1_1       ez
4   p01_MOT_1_2    dakit

Этого нельзя сделать, добавив индекс строки к каждой строке, поскольку они имеют разные и несвязанные значения.

1 Ответ

2 голосов
/ 21 апреля 2020

Используйте GroupBy.cumcount, затем добавьте его в виде строки:

df['unique_code'] = (
    df['unique_code'] + 
    '_' + 
    df.groupby('unique_code').cumcount().add(1).astype(str)
)

   unique_code        0
0  p01_PAR_1_1  zertara
1  p01_PAR_1_2    atera
2  p01_PAR_1_3       da
3  p01_MOT_1_1       ez
4  p01_MOT_1_2    dakit
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...