Предположим, у вас есть df
df = pd.DataFrame({"email": ['myemail@email.com','bar@email.com','foo@email.com']})
email
0 myemail@email.com
1 bar@email.com
2 foo@email.co
и список
e = [{'email':'myemail@email.com'},{'email':'another@email.com'}]
Вы можете использовать df.isin
, чтобы проверить, какие значения из df
находятся в списке
df.email.isin([k['email'] for k in e])
email
0 True
1 False
2 False
и используйте оператор ~
, чтобы проверить, какие значения не в списке
df[~df.email.isin([k['email'] for k in e])]
email
1 bar@email.com
2 foo@email.com
Если вы хотите сделать другой способоколо значений, которые не находятся в df
, вы можете использовать np.isin
>>> e = np.array([{'email':'myemail@email.com'},{'email':'another@email.com'}])
>>> e[~np.isin([k['email'] for k in e], df.email)]
[{'email': 'another@email.com'}]