首页 > 解决方案 > 比较两个不同大小的熊猫数据框并找到具有相等值的行索引

问题描述

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

我有两个数据框

第一个数据框是

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

上述索引的顺序不需要按顺序,我想要的只是dataframe 1(df1)的索引

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

谢谢

汤米

标签: python-3.xpandasdataframecompareequals

解决方案


你可以使用merge

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

推荐阅读