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

对PANDAS DataFrame单列执行sum求和无法得到总和该如何解决

问题原因

你遇到的问题核心是Totals列的数据类型为字符串(object类型),而非数值类型。Pandas对字符串列执行sum()方法时会直接拼接所有字符串,所以输出看起来是29行的列值依次展示,而非求和结果。

解决步骤

  • 先确认列数据类型,执行如下代码验证:
print(df['Totals'].dtype)

若输出结果为object即可确认是类型问题。

  • 清洗列数据并转换为数值类型:
    电商订单的金额列通常会附带货币符号、千位分隔符等特殊字符,需要先清洗再转格式,示例代码如下:
# 移除列中所有非数字、小数点的字符,再转换为浮点型
df['Totals'] = df['Totals'].replace(r'[^0-9.]', '', regex=True).astype(float)
# 再次执行求和即可得到正确结果
totals = df['Totals'].sum()
print(totals)
  • 特殊场景排查:
    如果验证后Totals列已经是数值类型,可检查列名是否存在隐性空格,执行如下代码打印所有列名核对:
print(df.columns.tolist())

如果列名前后存在空格,修改列名或者用实际的列名取值即可正常求和。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 03:00:01