You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何找出并打印第一个DataFrame相对第二个DataFrame缺失的行

找出第一个DataFrame中独有的行

要找出df1中存在但df2中没有的行,可以用以下两种方法实现:

方法1:使用merge配合indicator参数

通过left连接方式合并两个DataFrame,开启indicator=True标记行的来源,最后筛选出仅存在于df1的行:

import pandas as pd

data1 = {'first_column':  ['2', '3'],
        'second_column': ['2', '2'],
       'third_column':['2', '1'],
        }

data2 = {'first_column':  ['2', '2'],
        'second_column': ['2', '2'],
       'third_column':['2', '2'],
        }

df1 = pd.DataFrame(data1)
df2 = pd.DataFrame(data2)

# 合并并标记行的来源
merged_df = df1.merge(df2, how='left', indicator=True)
# 筛选仅在df1中存在的行,删除标记列
result = merged_df[merged_df['_merge'] == 'left_only'].drop(columns='_merge')

print(result)

方法2:使用concat配合drop_duplicates

将df1和两次df2合并后,移除所有重复行,剩余内容就是df1独有的行:

import pandas as pd

data1 = {'first_column':  ['2', '3'],
        'second_column': ['2', '2'],
       'third_column':['2', '1'],
        }

data2 = {'first_column':  ['2', '2'],
        'second_column': ['2', '2'],
       'third_column':['2', '2'],
        }

df1 = pd.DataFrame(data1)
df2 = pd.DataFrame(data2)

result = pd.concat([df1, df2, df2]).drop_duplicates(keep=False)
print(result)

预期输出

first_column second_column third_column
1            3             2            1

内容的提问来源于stack exchange,提问作者yoopiyo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 03:05:21