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

Pandas DataFrame中姓名列字母赋值求和新增列的方法求助

解决方法
  • 处理大小写匹配问题
    姓名里的字母通常会有大小写差异(比如Larry里的大写L),推荐把姓名统一转成小写/大写后再匹配字典,避免重复定义大小写键值对。
  • 编写字母求和函数
    写一个函数遍历姓名的每个字符,跳过空格这类不在字典中的字符,累加对应数值。
  • 批量生成新列
    用Pandas的apply方法将函数批量应用到姓名列,生成结果列。

完整代码示例

import pandas as pd

# 读取你的Excel文件(替换为实际文件路径)
df = pd.read_excel("your_data.xlsx")

# 自定义字母映射字典(示例仅写了部分,你可以补全a-z的对应值)
ORDINAL = {'a':1, 'b':2, 'c':3, 'e':5, 'h':8, 'l':12, 'n':14, 'o':15, 'r':18, 'y':25}

# 定义姓名得分计算函数
def get_name_score(name):
    total = 0
    # 统一转小写后遍历每个字符
    for char in name.lower():
        # 只累加字典中存在的字符(自动跳过空格)
        if char in ORDINAL:
            total += ORDINAL[char]
    return total

# 生成新列"姓名得分"
df['姓名得分'] = df['姓名'].apply(get_name_score)

# 查看结果
print(df[['姓名', '姓名得分']])

关键细节说明

  • name.lower():将姓名统一转为小写,确保和字典的键匹配,比如Larry转成larry后,就能匹配字典里的l/a/r/r/y。
  • 跳过非字典字符:通过if char in ORDINAL判断,避免空格、特殊符号这类不在字典中的字符引发KeyError。
  • apply方法:Pandas中用于对列/行的每个元素批量应用自定义函数,是处理这类逐行计算的高效方式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 07:55:33