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

如何更快实现Pandas单列内多个字符串值批量替换为同一值

Pandas多值统一替换高效实现方案

你目前用字典映射的写法是可行的,但要批量将多个值替换为同一个目标值时,有更简洁、维护成本更低的实现方式,推荐两种常用方案:

  • 方案1:replace() 列表参数写法(中小数据量首选,最直观)
    直接把所有需要替换的字符串放到列表作为第一个参数,第二个参数填写统一替换的目标值即可,不需要逐个编写键值对:
import pandas as pd
df = pd.DataFrame({'a':["US", "Japan", "UK", "China", "Peru", "Germany"]})
# 后续新增需要替换的值,直接往列表里加即可
to_replace = ['Japan','UK','China']
df['a'] = df['a'].replace(to_replace, 'Germany')
print(df)

运行结果和你给出的预期输出完全一致。

  • 方案2:isin() + loc 写法(大数据量首选,性能更高)
    如果你的DataFrame数据量很大(百万行及以上),用矢量化的isin判断性能会比replace高不少:
to_replace = ['Japan','UK','China']
df.loc[df['a'].isin(to_replace), 'a'] = 'Germany'

两种方案都只需要维护一个待替换字符串列表,就算你要替换的字符串有几十个,也只需要往列表里新增元素即可,不需要重复写目标值,比原来的字典写法维护成本低很多。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 10:09:02