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

如何用Pandas提取DataFrame某列中另一列没有的值

提取df1独有的A列值生成新DataFrame df3

方法一:布尔索引 + isin()

这是最直观的实现方式,通过判断值的存在性筛选目标行:

import pandas as pd

# 示例数据(实际使用时替换为你的df1、df2)
df1 = pd.DataFrame({'A': ['I-13856942', 'I-13856914', 'I-13861633', 'I-13875002', 'I-13875673']})
df2 = pd.DataFrame({'A': ['I-13856942', 'I-13856914', 'I-13861633']})

# 筛选df1中A列不在df2中的行
df3 = df1[~df1['A'].isin(df2['A'])]

执行后df3的输出:

A
I-13875002
I-13875673

方法二:merge关联筛选

适合大数据量场景或需要明确关联逻辑的情况:

# 左连接df1和df2,新增来源标记列
df3 = df1.merge(df2, on='A', how='left', indicator=True)
# 仅保留仅在df1中存在的行,删除标记列
df3 = df3[df3['_merge'] == 'left_only'].drop(columns='_merge')

得到的结果与方法一完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 09:25:03