如何在 pandas 中找到相交数据框?

How can I find intersect dataframes in pandas?

我有两个像 this.But 这样的数据框,第 0 列是一个 ndarray。我想找到相交数据框。

a1 =

 0                   |  1
 [39]                |  6000000
 [49] [50] [51] [52] |  84100 
 [49]                |  95400
 [20]                |  65089

a2 =

 0                   |  1
 [49] [50] [51] [52] |  84100 
 [38] [50]           |  530400
 [52]                |  60611
 [20]                |  65089

预期输出:

a3 =

 0                   |  1
 [49] [50] [51] [52] |  84100 
 [20]                |  65089

如有任何想法,我们将不胜感激。

您应该可以使用 numpy.array.all method:

通过比较来制作布尔掩码
a1 = pd.DataFrame({'a':[[0], [0,1,2], [3], [4]], 
                    'b':[0, 1000, 2000, 3000]})
a2 = pd.DataFrame({'a':[[0], [0,1,2], [4], [6]], 
                    'b':[0, 1000, 88000, 6000]})

a3 = a1[(a1==a2).values.all(axis=1)]

哪个returns:

     a            b
0      [0]        0
1   [0, 1, 2]   1000