比较两个不同大小的熊猫数据框,并找到具有相等值的行索引

时间:2019-05-03 02:48:21

标签: python-3.x pandas dataframe compare equals

在比较两个熊猫数据框时,我需要一些帮助

我有两个数据框

第一个数据帧是

df1 =
   a   b   c   d
0  1   1   1   1
1  0   1   0   1
2  0   0   0   1
3  1   1   1   1
4  1   0   1   0
5  1   1   1   0
6  0   0   1   0
7  0   1   0   1

第二个数据帧是

df2 = 
   a   b   c   d
0  1   1   1   1
1  1   0   1   0
2  0   0   1   0

我想找到数据帧1(df1)的行索引,其整个行与数据帧2(df2)中的行相同。我期望的结果是

0
3
4
6

上面索引的顺序不必是顺序,我只需要数据帧1(df1)的索引

有没有不用for循环的方法吗?

谢谢

汤米

1 个答案:

答案 0 :(得分:0)

您可以使用merge

df1.merge(df2,indicator=True,how='left').loc[lambda x : x['_merge']=='both'].index
Out[459]: Int64Index([0, 3, 4, 6], dtype='int64')