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

Pandas计算DataFrame字符串中数字字符数值之和的代码问题求助

计算DataFrame字符串列中数字字符的数值之和

你的代码无法运行是因为sum()的参数逻辑错误,sum(x, x.isdigit() for x in v)不符合Python的sum()函数语法,正确的做法是先筛选出字符串中的数字字符,转为整数后再求和。

正确实现方式

方式一:使用lambda表达式(简洁写法)

df['numeric'] = df['dname'].apply(lambda v: sum(int(x) for x in v if x.isdigit()))

逻辑说明:遍历每行字符串的每个字符,判断是否为数字,若是则转为整数,最终对这些整数求和。

方式二:定义独立函数(更易读,适合扩展)

如果需要更清晰的代码结构,可以单独定义求和函数:

def calculate_digit_sum(s):
    total = 0
    for char in s:
        if char.isdigit():
            total += int(char)
    return total

df['numeric'] = df['dname'].apply(calculate_digit_sum)

效果验证

针对你提供的示例数据:

123ask
example92
what3ver

执行代码后,numeric列会生成预期结果:

6
11
3

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 03:11:04