比较dataframe python的两列后查找额外值
我有两个数据帧,由列组成 df有一个列:id1比较dataframe python的两列后查找额外值,python,pandas,Python,Pandas,我有两个数据帧,由列组成 df有一个列:id1 id1 1 2 3 4 5 6 df2有一个列:id2 id2 2 1 5 4 正如您在df1中看到的,有些值不在df2['id2'] 3,6 有没有办法通过对两个数据帧列进行差分来找到它 还是其他方式 我试着用它 df2.isin(df1) 但只得到布尔值 但是我想要实际的行有很多方法可以解决这个问题,但是熊猫索引对象有一个差异方法,可以从调用索引的第二个索引中查找缺少的所有索引 idx1 = pd.Inde
id1
1
2
3
4
5
6
df2有一个列:id2
id2
2
1
5
4
正如您在df1中看到的,有些值不在df2['id2']
3,6
有没有办法通过对两个数据帧列进行差分来找到它
还是其他方式
我试着用它
df2.isin(df1)
但只得到布尔值
但是我想要实际的行有很多方法可以解决这个问题,但是熊猫索引对象有一个
差异
方法,可以从调用索引的第二个索引中查找缺少的所有索引
idx1 = pd.Index(df.id1)
idx2 = pd.Index(df.id2)
idx1.difference(idx2).values
array([3, 6])
使用isin
您将获得与此相同的结果:
df[~df.id1.isin(df2.id2)]
您还可以使用set操作
list(set(df.id1) - set(df2.id2))
[3, 6]
后一个例子是我需要的,非常简单。谢谢