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

Python如何匹配不同DataFrame相同字段值并更新原表数据

代码失效的核心原因
  • 列名调用错误:原始DataFrame存储汽车品牌的列名是Original Car Brand,原代码中调用了不存在的Car Brand列,直接触发字段不存在的错误,流程无法正常执行
  • 映射字典构造错误:原代码中dict(corrected_df[['Car Brand', 'Current City']]) 的写法并不能生成逐行对应的“品牌-城市”键值对,它只会把DataFrame的列名作为字典的键,存储整列的Series作为值,完全无法用于匹配
  • 缺失值处理逻辑缺失:就算把列名和字典写法改对,直接把map结果赋值给城市列,会让没有匹配到修正表的品牌对应城市直接变为空值,不符合“未匹配保留原城市值”的需求
修正后的可运行代码
# 1. 正确构造逐行的品牌-城市映射字典
brand_city_map = dict(zip(corrected_df["Car Brand"], corrected_df["Current City"]))
# 2. 用原表的正确品牌列做匹配,匹配失败的空值位置填充原城市值
original_df["Original City"] = original_df["Original Car Brand"].map(brand_city_map).fillna(
    original_df["Original City"]
)
执行效果

代码运行完成后,输出结果和预期完全一致:

  • 修正表覆盖的品牌:Tesla、Renault、BMW、Fiat、Audi、Ferrari、Lamborghini、Mercedes对应的城市,全部替换为修正表的最新值
  • 未在修正表中出现的品牌,城市值完全保留原表内容,无空值或覆盖错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.24 08:45:04