Удалить в одном датафрейме значения, встречающиеся в другом датафрейме

Коллеги, здравствуйте! Я имею 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?


Ответы (0 шт):