Удалить в одном датафрейме значения, встречающиеся в другом датафрейме
Коллеги, здравствуйте! Я имею 1 большой датафрейм (df_1) и датафрейм поменьше (df_2).Они имеют следующий вид данных:
print(df_1)
Unnamed: 3 Сумма списания
Хаматан Амир 199.0
Магеррамов Кенан Бабек Оглы 199.0
Махмудов Юусиф 199.0
Белякова Елена Сергеевна 199.0
Куркова Екатерина Александровна 199.0
Дорофеева Ангелина Павловна 199.0
Каширина Елена Михайловна 199.0
Шишов Савелий Александрович 199.0
Комиссарова Мария Александровна 199.0
Черепнова Ольга Анатольевна 199.0
И датафрейм (df_2).
Unnamed: 3 Сумма списания
Блохин Антон Александрович (Сотрудник) 199.0
05.10.2023 199.0
199 199.0
Рудаков Александр (удален) 199.0
06.10.2023 199.0
199 199.0
Рудаков Александр 199.0
10.10.2023 199.0
199 199.0
Тихонова Наталья 199.0
Мне необходимо сравнить датафрейм (df_1) с (df_2) и удалить из датафрейма (df_1) те значения, которые встречаются в (df_2), а затем скачать файл в формате Excel, где в каждой ячейки будет уникальное значение. Пытался найти эти значения следующим способом:
names = set(df_1['Unnamed: 3']) & set(df_2['Unnamed: 3'])
{nan,
'Брыкла Андрей Александрович',
'Васильева Дарья Игоревна',
'Велес Михаил Родомирович',
'Денисов Максим Алексеевич',
'Державин Александр Николаевич',
'Емельянов Артемий Владимирович',
'Ивлева Татьяна Владимировна',
'Исаков Сергей Викторович',
'Калинчикова Наталья Сергеевна',
'Линкевич Дмитрий Геннадьевич',
'Ломидзе Дмитрий Дмитриевич'}
Но мне показалось, что список не полный, просьба уточнить, работает ли этот код или нет. Также пытался решить вопрос с помощью:
df_1['Unnamed: 3'].isin (df_2['Unnamed: 3']).value_counts ()
И получил результат:
False 970
True 82
Name: Unnamed: 3, dtype: int64
Хотелось бы также узнать, можно ли как-то вывести те значения, которые имеют результат False?