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

如何高效实现Pandas DataFrame多列指定值的批量替换

解决方案

直接使用Pandas DataFrame原生的全局替换能力,传入映射字典即可一行完成所有值替换:

df = df.replace({'apple': 0, 'mango': 1, 'yoo': 2, 'ram': 3})

说明

  • 你的原有写法存在隐性bug:给user3列赋值时直接用了df['user1']的替换结果,若两列原始值不一致会导致数据错误,上述全局替换方案不存在这个问题
  • replace方法传入全量值映射字典时,会自动遍历整个DataFrame的所有单元格,匹配到字典键的取值就会自动替换为对应值,完全匹配你的需求场景
  • 如果后续需要新增替换规则,只需往字典中追加键值对即可,维护成本极低

如果你需要限定仅指定列执行对应替换规则(避免其他列的同值被误改),也可以使用列维度的映射写法:

df = df.replace({
    'user1': {'apple':0, 'mango':1},
    'user2': {'yoo':2, 'ram':3},
    'user3': {'apple':0, 'mango':1}
})

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 23:57:03