在使用数组操作后替换NaN值为零

ric*_*rdo 6 python

如何替换数组中的NaN值,如果执行操作,则为零,结果而不是NaN值为零操作为

0/0 = NaN可以替换为0

Dav*_*ebb 12

如果你有Python 2.6,你就有了math.isnan()查找NaN值的功能.

有了这个,我们可以使用列表推导来替换列表中的NaN值,如下所示:

import math
mylist = [0 if math.isnan(x) else x for x in mylist]
Run Code Online (Sandbox Code Playgroud)

如果你有Python 2.5,我们可以使用这个问题NaN != NaN技巧,所以你这样做:

mylist = [0 if x != x else x for x in mylist]
Run Code Online (Sandbox Code Playgroud)


Soo*_*SYJ 6

import numpy
a=numpy.array([1,2,3,'NaN',4])
s=numpy.isnan(a)
a[s]=0.0
Run Code Online (Sandbox Code Playgroud)