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

Pandas判断两DataFrame指定列值是否匹配并新增分类标记列

Pandas实现多表存在性判断并新增列的方案

首先导入依赖包并初始化示例数据:

import pandas as pd
import numpy as np

# 示例DataFrame初始化
df_threads = pd.DataFrame({'conv_id': ['12', '15', '14', '23'], 'tweets': ['Nice', 'Test', 'Hi', 'Yes']})
df_orig = pd.DataFrame({'id': ['17', '12', '15', '6','67'], 'tweets': ['hola', 'mundo', 'yes', 'look', 'Beautiful']})

核心实现代码

提供两种常用实现方式,逻辑完全一致:

方法1:结合numpy.where实现(代码最简洁)

# 提前提取id唯一值可提升大数据量下的判断效率
orig_id_set = df_orig['id'].unique()
df_threads['File'] = np.where(df_threads['conv_id'].isin(orig_id_set), 'Spanish', 'Portuguese')

方法2:仅用Pandas原生方法实现

df_threads['File'] = df_threads['conv_id'].isin(df_orig['id']).map({True: 'Spanish', False: 'Portuguese'})

输出结果

执行后打印df_threads得到符合匹配逻辑的结果:

conv_id tweets        File
0      12   Nice     Spanish
1      15   Test     Spanish
2      14     Hi  Portuguese
3      23    Yes  Portuguese

注:你给出的预期输出为格式示例,实际结果会严格按照匹配规则生成,若需要调整匹配逻辑仅需交换isin方法两侧的判断对象即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.10 09:27:03