在Pandas中,可以使用merge()函数来根据一列从两个数据帧中获取不匹配的数据。merge()函数可以根据指定的列将两个数据帧进行合并,并且可以通过指定参数来控制合并的方式。
下面是一个示例代码,演示如何根据一列从两个数据帧中获取不匹配的数据:
import pandas as pd
# 创建两个数据帧
df1 = pd.DataFrame({'A': [1, 2, 3, 4, 5],
'B': ['a', 'b', 'c', 'd', 'e']})
df2 = pd.DataFrame({'A': [1, 2, 3, 6, 7],
'B': ['a', 'b', 'c', 'f', 'g']})
# 使用merge()函数进行合并
merged_df = pd.merge(df1, df2, on='A', how='outer', indicator=True)
# 获取不匹配的数据
unmatched_df = merged_df[merged_df['_merge'] != 'both']
# 打印结果
print(unmatched_df)
运行以上代码,输出结果为:
A B_x B_y _merge
3 4 d NaN left_only
4 5 e NaN left_only
5 6 NaN f right_only
6 7 NaN g right_only
在这个例子中,我们创建了两个数据帧df1和df2,它们都有'A'和'B'两列。我们使用merge()函数将这两个数据帧根据'A'列进行合并,并且使用outer方式保留不匹配的数据。合并后的结果存储在merged_df中。
然后,我们通过筛选merged_df中'_merge'列不等于'both'的行,即可获取不匹配的数据。最后,将结果存储在unmatched_df中并打印出来。
这样,我们就根据一列从两个数据帧中获取了不匹配的数据。
推荐的腾讯云相关产品:腾讯云数据库TDSQL、腾讯云云服务器CVM、腾讯云对象存储COS等。您可以通过访问腾讯云官网了解更多产品信息和详细介绍。
腾讯云数据库TDSQL产品介绍链接:https://cloud.tencent.com/product/tdsql
腾讯云云服务器CVM产品介绍链接:https://cloud.tencent.com/product/cvm
腾讯云对象存储COS产品介绍链接:https://cloud.tencent.com/product/cos
领取专属 10元无门槛券
手把手带您无忧上云