Pandas – 查找两个数据帧之间的差异
在这篇文章中,我们将讨论如何在pandas中比较两个DataFrames。首先,让我们创建两个DataFrames。
创建两个数据框架。
输出:
检查两个数据帧是否完全相同
通过使用equals()函数,我们可以直接检查df1是否等于df2。这个函数被用来确定考虑中的两个数据框架对象是否相等。与dataframe.eq()方法不同的是,该操作的结果是一个标量布尔值,表明数据框架对象是否相等。
语法:
DataFrame.equals(df)
示例:
输出:
我们也可以对某一列进行检查。
示例:
输出:
寻找两个DataFrames之间的共同行
我们可以使用merge()函数或concat()函数。
- merge()函数是DataFrame对象之间所有标准数据库连接操作的入口。合并函数类似于SQL内部连接,我们在两个数据框架之间找到共同的行。
- concat()函数完成了所有繁重的工作,与axisod Pandas对象一起执行连接操作,同时对其他axis上的索引(如果有的话)执行可选的集合逻辑(union或intersection)。
实例1:使用合并函数
输出:
例子2:使用concat函数
我们使用concat函数将第二个数据框架(df2)添加到第一个数据框架(df1)下面。然后我们使用列对新的数据框架进行分组,然后我们看到哪些行的计数大于1,这些是常见的行。这就是我们如何使用
输出:
寻找两个数据框架之间不常见的行。
我们已经看到,我们如何在两个数据框架之间获得共同的行。现在,对于不常见的行,我们可以使用带参数drop_duplicate的concat函数。
示例:
输出: