如何将一个数据帧与另一个数据帧进行比较,并检查第二个df中是否存在第一个df中的相同数据

时间:2019-05-16 11:44:56

标签: python python-3.x pandas dataframe pandas-groupby

有两个df。两个df都有一列,并且名称相同

df1有40000行,df 2有80000行。

如何比较df1中的数据是否与df2中的数据相同。

预期的输出:任何消息表明df1中的40000行与df2中的80000行匹配

40000 items in df1 matched with 80000 items in df2 


4 个答案:

答案 0 :(得分:1)

类似的东西:

m = df1['c'] == df2['c']
print('{0:d} items in df1 matched with {1:d} items in df2'.format(sum(m), len(m)))

答案 1 :(得分:1)

使用此:

match = df1[df1['column name'].isin(df2['column name'])].shape[0]


print(('%.i items matched') % match)

答案 2 :(得分:1)

尝试:

   matches = (df2 == df1).stack()

答案 3 :(得分:0)

df = pd.DataFrame(data1, columns = ['A'])
df2 = pd.DataFrame(data2, columns = ['A'])
df
    A
0  10
1  15
2  14
3  20
4  25
5  26

 df2
    A
0  10
1  15
2  14
3  20
4  25
5  26
6  30
7  32
8  34
9  36



df2[df2.A.isin(df.A.values)]
    A
0  10
1  15
2  14
3  20
4  25
5  26

匹配的元素