В основном я хочу найти идентификаторы, которые находятся в DataFrame A, но не в DataFrame B, используя python.Я следовал советам в этом посте , но результат не тот, который я ожидал.
Рассмотрим следующий сценарий:
a = pd.DataFrame(data= {"id":[1, 1, 1, 2, 3, 4, 5],'score':[90,90,91,92,93,94,99]})
b = pd.DataFrame(data= {"id":[1, 2, 3, 4, 5],'letter':['a','b','c','d','e']})
Выполнение:
set([x for x in a['id'] if x not in b['id']])
, как и в упомянутом выше посте , дает {5}
, то же самое при выполнении:
set(filter(lambda x: x not in b['id'], a['id']))
И это не то, что я ожидал.Ожидаемый результат должен быть пустым set()
, которого можно достичь, выполнив:
set(a["id"]) - set(b["id"])
Может кто-нибудь объяснить, почему приведенные выше коды дают другой результат?Это будет с благодарностью.