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

需对DataFrame某列做大量值替换时可替代np.where的方法

适配大量替换需求的优雅实现方案

方案1:单列替换(最适配你当前场景)

直接把所有替换规则定义为映射字典,调用pandas自带的replace()方法完成批量替换,和你原有np.where的逻辑完全一致,不匹配的取值会保留原值:

# 所有替换规则统一维护在这个字典中,100条规则直接补全即可
country_replace_map = {
    "UK": "United Kingdom",
    "USA": "United States",
    # 剩余98条替换规则直接按"旧值":"新值"的格式追加即可
}

# 一行代码完成全量替换
df["Country"] = df["Country"].replace(country_replace_map)

方案2:多列同时批量替换

如果你后续需要对多个列做不同的替换操作,可以定义嵌套字典,一次性完成所有列的替换:

# 外层键为列名,内层为对应列的替换映射
all_replace_map = {
    "Country": {
        "UK": "United Kingdom",
        "USA": "United States"
    },
    "Continent": {
        "EU": "Europe",
        "AS": "Asia"
    }
}

df = df.replace(all_replace_map)

补充说明

  • 上述写法默认是全值严格匹配,和你原有实现的逻辑完全一致
  • 如需模糊匹配子字符串后替换,可以传入regex=True参数,该场景下需要注意特殊正则字符的转义

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.13 13:39:03