成对设置2个Pandas的交集,依次排列2个不同Pandas数据帧的序列

问题描述

我有2个Pandas数据框,我想按顺序查找2列相交的长度。例如:

    df1 = 

 a           b
 a1          b1
 a2          b2
 a3          b3

  df2 =
 a           b
 a1          b1
 a4          b4
 a2          b4



 Answer: 1  only 1 pair is in common (a1.  b1)

对于1列,我可以简单地写:

 set(df1.a).intersection(set(df2.a))

如何在不合并2个数据帧的情况下针对2列执行此操作?

编辑:我希望不合并

解决方法

您可以使用merge

df1.merge(df2,on=['a','b'])

输出:

    a   b
0  a1  b1