У меня есть df
, и я хочу удалить все дубликаты на ID
.
Name Symbol ID
0 ZOO INC Remove 88579Y101
1 Zoo Inc ZZZ 88579Y101
2 A Inc AAA 90138A103
3 a inc. Remove 90138A103
4 2U Inc TWUO 90214J101
5 Keep Remove 111111111
Но я хочу удалить только дублирующиеся строки, где Symbol == 'Remove'
. Вывод должен выглядеть следующим образом:
Name Symbol ID
0 Zoo Inc ZZZ 88579Y101
1 A Inc AAA 90138A103
2 2U Inc TWUO 90214J101
3 Keep Remove 111111111
Я не могу использовать result_df = df.drop_duplicates(subset=['ID'], keep='first')
(или keep='last'
), потому что набор данных не имеет определенного шаблона c. И сортировка по алфавиту сначала не поможет.
И хотя я знаю, что могу заменить все Remove
на NaN
, а затем использовать предоставленное решение здесь , я ищу альтернативное решение, потому что в конечном итоге мне может понадобиться пройти список строк.
Поддерживает ли Pandas что-то вроде: result_df = df.drop_duplicates(subset=['ID'], keep=(df['Symbol'] != 'Remove'))
?