如何在熊猫中找到相交的数据框?

时间:2019-03-11 07:03:56

标签: python pandas intersection numpy-ndarray

我有两个这样的数据帧,但是第零列是一个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

任何想法都将不胜感激。

1 个答案:

答案 0 :(得分:1)

通过使用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)]

返回:

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