Pandas 比较两个DataFrame,并将它们的差异并排输出

您所在的位置:网站首页 两个表格的差别怎么找 Pandas 比较两个DataFrame,并将它们的差异并排输出

Pandas 比较两个DataFrame,并将它们的差异并排输出

2024-05-21 21:04| 来源: 网络整理| 查看: 265

Pandas 比较两个DataFrame,并将它们的差异并排输出

在本文中,我们将介绍Pandas中的compare()函数,该函数可用于比较两个数据框并输出它们的差异。使用此方法非常有用,因为它使我们可以轻松地识别两个数据框之间的区别,而不必手动查看每个数据框。

阅读更多:Pandas 教程

Pandas Compare()函数

compare()函数是Pandas版本1.1.0中新加入的函数,它用于比较两个数据框的数据,并返回一个新数据框,其中包含两个数据框的不同之处。compare()函数的语法如下所示:

dataframe.compare(other, **kwargs)

其中,dataframe是第一个数据框,other是第二个数据框,而kwargs是一些其他参数。

示例

下面的示例将使用Pandas的compare()函数来比较两个数据框并输出它们的差异。首先,我们将创建两个数据框df1和df2:

import pandas as pd df1 = pd.DataFrame({'A': ['a', 'b', 'c'], 'B': [1, 2, 3], 'C': [4, 5, 6]}) df2 = pd.DataFrame({'A': ['a', 'b', 'd'], 'B': [1, 2, 4], 'C': [4, 5, 7]})

接下来,使用compare()函数比较这两个数据框:

df3 = df1.compare(df2) print(df3)

输出结果:

A C self other diff 2 c NaN NaN 3 NaN 6.0 +1

我们注意到输出结果是一个新数据框df3,其中包含两个数据框的差异。新数据框的每一行都代表一个差异。

对于比较,Pandas将df1视为self,将df2视为other。新数据框的第一列(‘A’)表示“self”和“other”中“A”列的差异。同样,第二列(‘C’)表示“self”和“other”中“C”列的差异。第三列(‘diff’)表示差异的差异。

在这个例子中,’self’和’other’的第一行相同(’a’,1,4),第二行也相同(’b’,2,5)。但是,在第三行中,’self’的’A’列值为’c’,而’other’的’A’列值为’d’。因此,’diff’列中显示了’NaN’。

同样,在第四行中,’self’的’C’列值为6,而’other’的’C’列值为7。由于这些值不同,因此’diff’列显示’1’。

现在,我们已经比较了两个数据框,并已经输出它们的差异。在实际工作中,这个方法非常有用,因为它可以帮助我们快速地找出两个数据框之间的不同之处,并且可以在许多任务中使用。

可选参数

compare()函数 还有一些可选参数,可以用于根据需要控制比较行为。

keep_shape:True或False。如果为True,则在比较过程中将忽略形状不同的对象 keep_equal:True或False。如果为True,则在比较过程中将忽略值相同的对象 keep_order:True或False。如果为True,则在比较过程中将保留正确的顺序 ignore_index:True或False。如果为True,则在比较过程中将忽略行索引 总结

在本文中,我们介绍了Pandas中的compare()函数,它可用于比较两个数据框,并输出它们的差异。我们看到了如何使用该函数来比较两个数据框,并从输出结果中理解比较结果。对于需要比较数据框的任务,这个方法非常有用。我们还介绍了一些可选参数,这些参数可用于根据需要控制比较行为。

总之,compare()函数是一个非常有用和强大的工具,可以帮助我们快速地找出两个数据框之间的不同之处。这是一个在数据科学工作流程中必不可少的工具。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3