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

如何基于现有列和字典映射为Pandas DataFrame新增列?

pandas字典映射匹配运营商短信网关实现方法

你卡的列值和字典键匹配的环节,直接用pandas Series内置的map()方法就能实现,不需要写自定义循环,具体步骤如下:

  • 映射匹配环节:直接对cell_provider列调用map(),传入你提前定义好的smsgateway字典,方法会自动遍历列中每一个值,把它作为key去字典里查找对应的网关后缀,匹配不到的内容会返回空值NaN,方便你后续排查异常值。
    对应代码:
    # 匹配得到每个号码对应的短信网关后缀
    df["gateway_suffix"] = df["cell_provider"].map(smsgateway)
    
  • 拼接环节注意点:如果你的cell_number列是数值类型,一定要先转成字符串格式再和后缀拼接,否则会触发类型错误。拼接参考代码:
    # 生成最终的短信邮箱地址列
    df["sms_email"] = df["cell_number"].astype(str) + df["gateway_suffix"]
    

用你提供的测试DataFrame运行后,得到的结果如下:

Namecell_providercell_numbergateway_suffixsms_email
Tony DanzaGoogle Fi9999999999@msg.fi.google.com9999999999@msg.fi.google.com
John SmithT-Mobile8888888888@tmomail.net8888888888@tmomail.net

排错提示:如果运行后gateway_suffix列出现NaN,优先检查cell_provider列的运营商文本是否和字典的key完全一致,有没有多余空格、大小写不统一、拼写错误的问题,文本不完全一致会直接导致匹配失败。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 12:03:21