如何在 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
我有两个像 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