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

Python中如何直接将pandas Series通过字典迭代映射生成新Series?

最优实现方案

pandas 原生提供了Series.map()方法专门处理这类映射需求,是当前场景下性能最高、写法最简洁的实现:

s1 = pd.Series(['a','b','c','d'])
d = {'a':1, 'b':2, 'c':3, 'd':4}

# 直接调用map方法传入字典即可
s2 = s1.map(d)

方案优势

  • 完全匹配你的需求:自动遍历Series的每个元素,通过字典做映射匹配,输出结果为目标Series格式
  • 不需要手动写迭代逻辑,内部做了矢量化优化,数据量越大相对列表推导式的性能优势越明显
  • 规避了直接调用d.values()的顺序风险:完全按照Series原有元素顺序做匹配,不会因为Python 3.7之前版本字典不保留插入顺序的特性出现结果错位的问题
  • 异常情况处理更友好:如果Series中出现字典不存在的key,会自动返回NaN,你也可以搭配fillna()自定义默认值,示例:
    # 未匹配到的元素默认填充为0
    s2 = s1.map(d).fillna(0, downcast='infer')
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 12:54:03