如何从数据框中删除与其他df相同的行?

数据挖掘 Python 熊猫 数据框
2021-09-15 04:54:52

我有两个数据框。那么如何从 df1 中删除在 df2 中具有相同电子邮件地址的行?

>>df1
   First  Last  Email
0 Adam   Smith  email@email.com
1 John   Brown  email2@email.com
2 Joe    Max    email3@email.com
3 Will   Bill   email4@email.com


>>df2
  First  Last   Email
0 Adam   Smith  email@email.com
1 John   Brown  email2@email.com
2个回答

你可以试试这个:

cond = df1['Email'].isin(df2['Email'])
df1.drop(df1[cond].index, inplace = True)

>>df1
    First   Last    Email
2   Joe     Max     email3@email.com
3   Will    Bill    email4@email.com

isin()使用起来更简单dropna()

https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.isin.html

df1[~df1.isin(df2)].dropna()