Удалить дубликаты без точного совпаденияPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Удалить дубликаты без точного совпадения

Сообщение Anonymous »


Мне нужно удалить дубликаты из моего фрейма данных, где соответствующие значения в столбцах A и C совпадают, и где соответствующие значения в столбцах B и C совпадают. Моя проблема заключается в том, что в столбце B есть нулевые значения, а некоторые «дубликаты» не совпадают. Столбец B содержит имена, которые для некоторых строк содержат только последнюю и первую, а для других строк — последнюю, первую, середину и степени. Любая строка с совпадающими фамилией и именем считается дубликатом.
Начальный фрейм данных:

Код: Выделить всё

d = {'A': [123498, 123498, 234875, 457898, 'SMITHJ', 'DOEJ',],
'B': ['SIMON, PAUL JD', None,  'DOE, JANE MARY PHD', 'MERCURY, FREDRICK MS', None, 'DOE, JANE'],
'C': ['red', 'red', 'green', 'red', 'blue', 'green']}
df = pd.DataFrame(data=d)
df

A            B                 C
0   123498   SIMON, PAUL JD         red
1   123498   None                   red
2   234875   DOE, JANE MARY PHD     green
3   457898   MERCURY, FREDRICK MS   red
4   SMITHJ   None                   blue
5   DOEJ     DOE, JANE              green
Final dataframe:

Код: Выделить всё

      A            B                 C
0   123498   SIMON, PAUL JD         red
3   457898   MERCURY, FREDRICK MS   red
4   SMITHJ   None                   blue
5   DOEJ     DOE, JANE              green
I used

Код: Выделить всё

df.drop_duplicate(['A', 'C'])
to remove duplicates from column A and a mask to remove the exact duplicates from column B, while keeping Null values.
Also, it doesn't matter which of the duplicate rows that I keep, so rows at index 0 and 5 could've been removed instead of the rows at index 1 and 2 and that would be acceptable.
Thank you!


Источник: https://stackoverflow.com/questions/781 ... xact-match
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»