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

Pandas求和保留NaN值:多列求和时保留空值的实现方案

解决DataFrame多列求和时全NaN行返回NaN的问题

现有如下DataFrame表格:

ABC
1.01.5Baseline
NaNNaNBaseline
2.0NaNBaseline

希望在A、B列后插入Sum列,为两列的求和结果,预期全NaN行的Sum值为NaN。尝试代码df.insert(2, 'Sum', df[['A', 'B']].sum(axis=1))后,全NaN行Sum值为0.0,不符合预期。因涉及多列求和,不想使用冗长公式,且浮点列无法用fillna('')方案,寻求简洁实现方法。

直接利用sum()方法的min_count参数即可实现需求,该参数指定计算求和时至少需要的非NaN值数量,当非NaN值数量不足时返回NaN:

df.insert(2, 'Sum', df[['A', 'B']].sum(axis=1, min_count=1))

效果说明

  • 对于包含至少一个非NaN值的行,正常返回两列的求和结果(自动忽略单个NaN)
  • 对于A、B列全为NaN的行,返回NaN,符合预期

验证后的结果表格:

ABSumC
1.01.52.5Baseline
NaNNaNNaNBaseline
2.0NaN2.0Baseline

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 00:38:17