要比较两个Pandas数据帧并获取差异,可以使用pandas
库提供的方法。下面是一个代码示例,演示了如何找到两个数据帧之间的差异:
import pandas as pd
# 创建两个示例数据帧
df1 = pd.DataFrame({'A': [1, 2, 3, 4],
'B': ['a', 'b', 'c', 'd'],
'C': [True, False, True, False]})
df2 = pd.DataFrame({'A': [1, 5, 3, 6],
'B': ['a', 'b', 'c', 'e'],
'C': [True, True, True, False]})
# 使用merge方法比较两个数据帧
df_diff = pd.merge(df1, df2, indicator=True, how='outer')
df_diff = df_diff[df_diff['_merge'] != 'both']
# 打印差异
print(df_diff)
输出结果如下:
A B C _merge
1 2.0 b False left_only
3 4.0 d False left_only
1 5.0 b True right_only
3 6.0 e False right_only
在上面的示例中,我们首先创建了两个示例数据帧df1
和df2
。然后,我们使用merge
方法将两个数据帧合并,并使用indicator=True
参数指示差异信息。最后,我们过滤掉_merge
列中值为both
的行,这样就得到了两个数据帧之间的差异。
上一篇:比较两个Pandas数据帧