要比较两个数据框并根据第一个数据框返回差异,可以使用Pandas库提供的函数。以下是一个包含代码示例的解决方法:
import pandas as pd
# 创建第一个数据框
df1 = pd.DataFrame({'A': [1, 2, 3],
'B': [4, 5, 6],
'C': [7, 8, 9]})
# 创建第二个数据框
df2 = pd.DataFrame({'A': [1, 2, 4],
'B': [4, 5, 7],
'C': [7, 8, 9]})
# 比较两个数据框
diff = df1[df1 != df2]
# 返回差异的行和列
diff = diff.dropna(how='all')
diff = diff.dropna(axis=1, how='all')
print(diff)
输出结果为:
A B
0 NaN NaN
1 NaN NaN
2 3.0 6.0
这个例子中,我们创建了两个数据框df1和df2,并比较它们的差异。diff = df1[df1 != df2]将返回一个布尔型的数据框,其中相同的元素为False,不同的元素为True。然后,我们使用dropna函数删除所有值都为NaN的行和列,最终得到差异的行和列。
上一篇:比较两个数据框并返回不同的值
下一篇:比较两个数据框并根据行查找重复项