如何获取两个数据框的交集?

11

我有两个格式相似的数据框:

df1 = DataFrame({'a':[0,1,2,3,4], 'b':['q','r','s','t','u']})
df1

    a   b
0   0   q
1   1   r
2   2   s
3   3   t
4   4   u

df2 = DataFrame({'a':[4,3,2,1,999], 'b':['u','r','s','t','u']})
df2

    a   b
0   4   u
1   3   r
2   2   s
3   1   t
4   999 u

我希望获得一个新的数据框,其中包含出现在这两个数据框中的行(忽略索引)。因此,上面的示例给出了一个数据框。
    a   b
0   4   u
1   2   s

我该如何获取这个交集?

1个回答

18

您可以执行 merge 操作,这将使用所有列,合并的默认类型是 inner,因此两个df中必须存在相应的值:

In [71]:

df1.merge(df2)
Out[71]:
   a  b
0  2  s
1  4  u

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接