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

不使用Numpy,如何模拟.nansum方法?附示例

模拟Numpy的.nansum方法(无Numpy依赖)

核心逻辑很直接:遍历目标列表,跳过所有NaN值,累加剩下的有效数值即可。

实现步骤:

  • 导入math模块,用math.isnan()判断元素是否为NaN(注意:Python里的NaN是float('nan'),整数类型不存在NaN)
  • 定义函数并初始化总和为0
  • 遍历列表中的每个元素,若元素不是NaN则累加到总和
  • 返回最终计算的总和

代码示例:

import math

def nansum(lst):
    total = 0.0
    for num in lst:
        if not math.isnan(num):
            total += num
    return total

# 测试示例
x = [1, float('nan'), 2, 10]
print(nansum(x))  # 输出:13.0

补充说明:

  • 如果列表全是NaN,函数会返回0.0,和Numpy.nansum的行为一致
  • 若列表包含非数值类型(如字符串),可额外添加isinstance(num, (int, float))判断避免报错

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 05:22:06