Новый столбец в кадре данных Pandas относительно дубликатов в данном столбце - PullRequest
0 голосов
/ 30 мая 2018

Привет, у меня есть фрейм данных со столбцом "id", как показано ниже

   
id    
abc
def
ghi
abc
abc
xyz
def

Мне нужен новый столбец "id1" с добавленным к нему номером 1 и число должно увеличиваться для каждого дубликата.вывод должен быть как ниже.


id    id1
abc   abc1
def   def1
ghi   ghi1
abc   abc2
abc   abc3
xyz   xyz1
def   def2

Может кто-нибудь предложить мне решение для этого?

1 Ответ

0 голосов
/ 30 мая 2018

Используйте groupby.cumcount для подсчета id с, добавьте 1 и преобразуйте в string с:

df['id1'] = df['id'] + df.groupby('id').cumcount().add(1).astype(str)
print (df)
    id   id1
0  abc  abc1
1  def  def1
2  ghi  ghi1
3  abc  abc2
4  abc  abc3
5  xyz  xyz1
6  def  def2

Подробности :

print (df.groupby('id').cumcount())
0    0
1    0
2    0
3    1
4    2
5    0
6    1
dtype: int64
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...