У меня есть набор данных отправленных форм - и некоторые из форм были отправлены несколько раз.
Один и тот же человек, тот же выбор в форме, но немного разные submission_ids и даты отправки.
Я хочу удалить одно из представлений (я скажу второе, но это не имеет значения, потому что они идентичны). Если я сделаю:
lit_subset[lit_subset.duplicated()]
Я либо не получаю то, что хочу (потому что идентификаторы submission_ids уникальны), либо если я установлю столбцы (удалите submission_id и submission_date), то я смогу увидеть, какие записи дублируются вверх, но я не знаю, как получить один из идентификаторов submission_id и удалить его из исходного набора данных. Для меня это несложно сделать на SQL сервере:
select first_name
,last_name
,email
,telephone
,accountNumber
,refund_option
,max(submission_id) as 'max_submission'
from #refund_form_data
group by first_name
,last_name
,email
,telephone
,accountNumber
,refund_option
having count(*) > 1
Вот пример набора данных:
import pandas as pd
data = {'submission_id': ['abc456', 'abc123','def456','ghi789'],
'first_name': ['Mark', 'Mark','Andrew','Allie'],
'last_name': ['Baseball', 'Baseball','football','hockey'],
'choice': ['Athletics', 'Athletics','Falcons','Canucks'],
}
df = pd.DataFrame (data, columns = ['submission_id', 'first_name','last_name','choice'])
print(df)
Мне нужен результат, который выглядит следующим образом:
submission_id first_name last_name choice
0 abc123 Mark Baseball Athletics
1 def456 Andrew football Falcons
2 ghi789 Allie hockey Canucks