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