Python 如何获得两个数据帧的交集?

Python 如何获得两个数据帧的交集?,python,pandas,dataframe,Python,Pandas,Dataframe,我有两个格式相似的数据帧: 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

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

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
如何获得此交叉点?

您只需执行一次,这将使用所有列,默认合并类型为
内部
,因此两个dfs中都必须存在值:

In [71]:

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