gpt4 book ai didi

python - 两个数据框的差异

转载 作者:IT老高 更新时间:2023-10-28 21:46:22 25 4
gpt4 key购买 nike

我需要逐行比较两个不同大小的数据帧并打印出不匹配的行。让我们采取以下两个:

df1 = DataFrame({
'Buyer': ['Carl', 'Carl', 'Carl'],
'Quantity': [18, 3, 5, ]})

df2 = DataFrame({
'Buyer': ['Carl', 'Mark', 'Carl', 'Carl'],
'Quantity': [2, 1, 18, 5]})

在 df2 上逐行并打印出不在 df1 中的行的最有效方法是什么,例如

Buyer     Quantity 
Carl 2
Mark 1

重要提示:我不想排:

Buyer     Quantity 
Carl 3

包含在差异中:

我已经尝试过: Comparing two dataframes of different length row by row and adding columns for each row with equal valueCompare two DataFrames and output their differences side-by-side

但是这些不符合我的问题。

最佳答案

merge 2 dfs 使用方法 'outer' 并传递参数 indicator=True 这将告诉您行是否存在于两个/仅左/仅右,然后您可以在之后过滤合并的 df:

In [22]:
merged = df1.merge(df2, indicator=True, how='outer')
merged[merged['_merge'] == 'right_only']

Out[22]:
Buyer Quantity _merge
3 Carl 2 right_only
4 Mark 1 right_only

关于python - 两个数据框的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36891977/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com