Pandas DataFrame 比较方法

PythonPythonBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

介绍

在本实验中,你将学习如何使用 pandas 库中的 compare() 方法来比较两个 DataFrame 并识别它们之间的差异。compare() 方法是一种便捷的方式,通过并排比较显示不同的值,从而找到两个 DataFrame 之间的差异。

虚拟机提示

虚拟机启动完成后,点击左上角切换到 Notebook 选项卡以访问 Jupyter Notebook 进行练习。

有时,你可能需要等待几秒钟,直到 Jupyter Notebook 完成加载。由于 Jupyter Notebook 的限制,操作验证无法自动化。

如果你在学习过程中遇到问题,随时可以向 Labby 提问。在实验结束后提供反馈,我们将及时为你解决问题。

导入所需的库

首先,你需要导入 pandas 库以使用 compare() 方法。运行以下代码:

import pandas as pd

创建 DataFrames

接下来,你将创建两个 DataFrame 进行比较。每个 DataFrame 应具有相同的标签,但可能包含不同的值。运行以下代码以创建 DataFrame:

df1 = pd.DataFrame([['Abhishek',100,'Science',90], ['Anurag',101,'Science',85]], columns=['Name', 'Roll No', 'Subject', 'Marks'])
df2 = pd.DataFrame([['Abhishek',100,'Maths',95], ['Anurag',101,'Maths',80]], columns=['Name', 'Roll No', 'Subject', 'Marks'])

比较 DataFrames

现在,你可以使用 compare() 方法来比较两个 DataFrame 并显示它们之间的差异。该方法会比较两个 DataFrame 之间的值,并返回一个新的 DataFrame,其中并排显示不同的值。运行以下代码:

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

修改 DataFrames 并再次比较

你可以修改任一 DataFrame 中的值,然后再次进行比较以查看更新后的差异。运行以下代码以修改第二个 DataFrame 中的一个值:

df2.at[1, 'Marks'] = 85

然后,再次运行步骤 3 中的比较代码以查看更新后的差异。

指定对齐轴和包含相等值

你还可以指定结果 DataFrame 的对齐轴以及是否包含相等值。默认情况下,对齐轴设置为 1(列),并且不包含相等值。运行以下代码以演示这些选项:

differences_axis_0 = df1.compare(df2, align_axis=0)
differences_keep_equal = df1.compare(df2, keep_equal=True)

总结

在本实验中,你学习了如何使用 pandas 库中的 compare() 方法来比较两个 DataFrame。该方法通过并排显示不同的值,帮助你识别 DataFrame 之间的差异。你还学习了如何指定结果 DataFrame 的对齐轴以及是否包含相等值。现在,你可以利用这些知识轻松比较和分析数据集之间的差异。