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

pandas如何对DataFrame单列内的拆分数字进行逐行求和

解决方案

你原有代码报错的核心原因是:两次拆分后得到的是嵌套的字符串列表,sum()既不支持字符串类型直接求和,也无法直接累加嵌套列表的元素。

下面给出两种最简实现方案:

方案1:正则提取(兼容性更高)

不需要手动处理分隔符逻辑,直接提取字符串内所有数字求和,pandas批量处理代码如下:

import pandas as pd
import re

# 构造示例DataFrame,你可以替换为自己的实际数据
df = pd.DataFrame({
    '待处理列名': [
        '1-2 3-4 8-9',
        '4-5 6-2',
        '3-1 4-2 1-4'
    ]
})

# 核心计算逻辑,一行完成
df['求和结果'] = df['待处理列名'].apply(lambda x: sum(map(int, re.findall(r'\d+', x))))

# 输出结果验证
print(df['求和结果'])

输出结果:

0    27
1    17
2    15
Name: 求和结果, dtype: int64

方案2:字符替换拆分(无需导入正则库)

如果不想引入正则依赖,可以统一把分隔符-替换为空格后拆分所有元素求和:

df['求和结果'] = df['待处理列名'].apply(lambda x: sum(int(num) for num in x.replace('-', ' ').split()))

运行结果和方案1完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 03:27:03