首页 > 解决方案 > Pandas 比较两个数据框并查找重复元素

问题描述

我想比较 df 和 df_equal。df 包含几个单独的数据帧

    import pandas as pd

    df1 = pd.DataFrame([[ 'b', 'b', 'b' ]],
        columns=['a', 'b', 'c'])

Output:
    a   b   c
0   b   b   b
    df2 = pd.DataFrame([[ 'x', 'x', 'x' ]],
        columns=['a', 'b', 'c'])
Output:
    a   b   c
0   x   x   x
df = pd.concat([df1, df2])
    a   b   c
0   b   b   b
0   x   x   x
df_equal = pd.DataFrame([[ 'x', 'x', 'x' ]],
    columns=['a', 'b', 'c'])

我如何检查 df 是否重复?

我试过.equals:

for row in df:
    df.equals(exactly_equal)

我想要的输出:

False #first row in df 
True  #second row in df

标签: pythonpandasdata-scienceequals

解决方案


您可以只遍历行,例如比较 的每一行dfdf2假设df2只有一行):

for row in range(len(df)):
    print((df.iloc[row, ].values == df2.values).all())
False
True

推荐阅读