英文:
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))
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论