📅  最后修改于: 2023-12-03 15:03:30.559000             🧑  作者: Mango
在数据分析和处理中,经常需要比较两个数据框中的不同之处。Pandas是Python中最受欢迎的数据处理库之一,它为我们提供了一系列有效的工具来处理数据。在本文中,我们将介绍如何使用Pandas比较两个数据框中不同的数据。
我们可以使用Pandas的merge()方法比较两个数据框中的数据。merge()方法将数据框连接起来,然后我们可以使用where()方法选择不同的值。
import pandas as pd
# 创建数据框1
df1 = pd.DataFrame({'A': [1, 2, 3, 4],
'B': [5, 6, 7, 8]})
# 创建数据框2
df2 = pd.DataFrame({'A': [1, 2, 3, 4],
'B': [9, 6, 7, 10]})
# 将数据框连接起来
df_diff = df1.merge(df2, indicator=True, how='outer')
# 选择不相同的值
df_diff = df_diff[df_diff['_merge'] != 'both']
print(df_diff)
此处我们将df1和df2数据框合并成一个新的数据框df_diff。合并时,indicator参数被设置为True,它会在结果数据框中添加一个特殊的列_merge,这个列包含了左、右数据框的原始信息。另外,将how参数设置为'outer'表示会显示所有的数据,包括相同的数据。
然后我们筛选出df_diff中_merge列值不为'both'的行,这部分是不同的数据。
通过Pandas的merge()方法和where()方法,我们可以轻松地找到两个数据框之间不同的地方。这个方法可以适用于大多数数据集的比较。如果您遇到了更多的问题,请查阅Pandas官方文档。