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

如何解决Python对Excel读取矩阵求和时忽略第一列的问题?

解决pandas计算Excel矩阵列和时“忽略”第一列的问题

嘿,我明白你遇到的问题了——看着代码明明写了对所有列求和,但结果里好像第一列没被计算对吧?先帮你分析下原因,再给你两个可行的解决办法:

首先看你读取到的数据:

0     1   2
0  NaN  17.0   5
1  3.0   NaN  19
2  7.0  17.0   7

其实pandas并没有真的忽略第一列,它默认的sum()方法会自动跳过NaN值计算总和,所以第一列的实际求和结果是3.0 + 7.0 = 10.0。你觉得它被忽略,大概率是两种情况:要么你预期把NaN当作0来求和,要么你的第一列数据类型出了问题(比如Excel里第一列混了文本,导致pandas没识别成数值类型)。

办法1:确保数值类型正确,按默认规则求和

如果你的需求就是跳过NaN计算,那只需要先确认所有列都是数值类型,避免因为数据类型错误导致求和异常:

import pandas as pd
data = pd.read_excel("data.xlsx", header=None)
# 强制把所有列转为数值,无法转换的内容会变成NaN
data = data.apply(pd.to_numeric, errors='coerce')
# 现在再求和,三列的结果都会正常输出
print(data.sum(axis=0))

办法2:把NaN当作0来计算总和

如果你希望把所有NaN都视为0来求和(比如第一列总和是0 + 3 +7 =10,第二列是17+0+17=34),可以先填充NaN为0再求和:

import pandas as pd
data = pd.read_excel("data.xlsx", header=None)
# 填充NaN为0后再按列求和
print(data.fillna(0).sum(axis=0))

这两种方法都能让你得到三列的完整求和结果,选哪种就看你的实际需求啦~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 03:50:46