Удалить повторяющиеся значения в столбце, сохраняя строку - PullRequest
0 голосов
/ 03 мая 2018

У меня проблема, похожая на удаление дубликатов, но мне нужно сохранить строку с повторяющимся значением. По сути, мне нужно сохранить первое значение и затем заменить каждое его повторение на «».

Col1    Col2
a        1
b        1
c        1
d        2

Что мне нужно, это:

Col1     Col2 
a        1
b
c
d        2

Спасибо.

1 Ответ

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

Используйте duplicated с заменой значений для пустой строки - но получите смешанные значения - числовые со строками, поэтому некоторые функции должны завершиться сбоем. Лучше заменить на NaN с, хотя integer с конвертируется в float с.

df.loc[df['Col2'].duplicated(), 'Col2'] = '' 
#if want numeric column
#df.loc[df['Col2'].duplicated(), 'Col2'] = np.nan

Более быстрая альтернатива:

df['Col2'] = np.where(df['Col2'].duplicated(), '', df['Col2'])

print (df)
  Col1 Col2
0    a    1
1    b     
2    c     
3    d    2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...