如果“行”,“列”中的值与另一列中的任何地方匹配,则删除“熊猫数据框”中的行

时间:2019-04-21 13:00:55

标签: python pandas

我想做的是删除熊猫数据框中的一行,如果该行中的值与另一列中的任何位置匹配。这是Excel中的一个粗略的模拟示例:

enter image description here

因此,在这种情况下,我想删除第2行,因为在C列中找到了该电子邮件地址。

非常感谢您的帮助。

2 个答案:

答案 0 :(得分:3)

您必须将Series.isin~运算符配合使用,才能获得与布尔索引相反的效果,您可以将其读取为not isin

# Print example dataframe
print(df)
   Company        Email Second Email
0  ABC Inc  abc@abc.com             
1  ABC Inc  123@abc.com  abc@abc.com
2  XYZ Inc  jkl@xyz.com 

使用isin

df = df[~df['Second Email'].isin(df['Email'])]

print(df)
   Company        Email Second Email
0  ABC Inc  abc@abc.com             
2  XYZ Inc  jkl@xyz.com             

答案 1 :(得分:1)

您可以使用df[~df.b.isin(de.c)]

创建另一个数据框

这将查找不在c中的所有b(开头的〜就像!!)