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

如何高效替换Pandas DataFrame中指定列表匹配的列值?

高效实现Pandas列值的对应替换

最直接高效的方式是利用字典映射结合Pandas的replace()方法,步骤如下:

  1. 构建原列表与新列表的映射字典
    把需要替换的旧值和对应的新值一一对应成字典,这是实现快速查找替换的核心:

    old_values = ['apple', 'tomato', 'mango']
    new_values = ['fruit1', 'fruit2', 'fruit3']
    replace_mapping = dict(zip(old_values, new_values))
    
  2. 调用Pandas的replace()方法完成替换
    直接对目标列使用replace()方法传入映射字典即可,支持原地修改或生成新列:

    import pandas as pd
    
    # 模拟你的DataFrame
    df = pd.DataFrame({'values': ['tomato', 'pineapple', 'apple', 'banana', 'mango']})
    
    # 方式1:原地修改原列
    df['values'].replace(replace_mapping, inplace=True)
    
    # 方式2:生成新列,保留原数据
    # df['new_values'] = df['values'].replace(replace_mapping)
    

执行后,df['values']的结果就会符合预期:

fruit2
pineapple
fruit1
banana
fruit3

为什么这个方法高效?

字典的键值查找是O(1)时间复杂度,Pandas内部对字典映射的替换做了向量优化,比循环遍历、apply()这类逐行处理的方式快得多,尤其适合大数据量场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 06:10:31