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

基于另一DataFrame的CELLNAME匹配更新DataFrame的Status列

问题解决:基于CELLNAME匹配更新DataFrame的Status列

你的代码存在两个核心问题:

  1. 语法错误:判断元素相等需用双等号==,你误写为赋值用的单等号=;
  2. 逻辑错误:直接逐行对比两列仅适用于行数、顺序完全一致的场景,无法实现「CELLNAME是否存在于另一个DataFrame」的匹配需求。

正确实现代码

import pandas as pd
import numpy as np

# 读取数据文件
df1 = pd.read_csv('Test 1.csv')
df2 = pd.read_csv('Test 1 with No Status.csv')

# 判断CELLNAME是否在两个DataFrame中都存在,设置对应Status值
df2['Status'] = np.where(df2['CELLNAME'].isin(df1['CELLNAME']), 'Yes', 'No')

# 保存更新后的结果
df2.to_csv('Test 1 with Status.csv', index=False)

关键说明

  • df2['CELLNAME'].isin(df1['CELLNAME'])会生成布尔序列,精准标记df2中每个CELLNAME是否存在于df1的CELLNAME列;
  • 若df1的CELLNAME存在大量重复值,可先转成集合提升匹配效率:df2['Status'] = np.where(df2['CELLNAME'].isin(set(df1['CELLNAME'])), 'Yes', 'No')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 12:17:03