使用Python不使用NumPy来计算列表中的元素总和,忽略NaN值。

huangapple go评论106阅读模式
英文:

Sum elements of list ignoring NaN without numpy

问题

我无法使用numpy如何模拟.nansum方法示例

x = [1, NaN, 2, 10]
英文:

I can't use numpy, how can I emulate .nansum method? Example

x = [1, NaN, 2, 10]

答案1

得分: 2

你可以将使用 math.isnan 来忽略 NaN 元素的生成器表达式传递给 sum

from math import isnan
print(sum(e for e in x if not isnan(e)))

或者,利用 NaN 不等于它自己的事实:

print(sum(e for e in x if e == e))
英文:

You can pass a generator expression to sum that uses math.isnan to ignore NaN elements.

from math import isnan
print(sum(e for e in x if not isnan(e)))

Alternatively, using the fact that NaN is not equal to itself:

print(sum(e for e in x if e == e))

huangapple
  • 本文由 发表于 2023年2月17日 23:37:30
  • 转载请务必保留本文链接:https://go.coder-hub.com/75486335.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定