在数组操作后将NaN值替换为零
我该怎么把数组中的NaN值替换成0呢?比如说,如果进行某个操作,结果是NaN的地方就变成0。
比如说,0除以0等于NaN,这个NaN可以替换成0。
4 个回答
3
这儿还有一个用pandas解决这个问题的方法。
import pandas as pd
mylist = [2.3, pd.NA, 1.1, 0.7]
mylist = [0 if pd.isna(x) else x for x in mylist]
6
import numpy
a=numpy.array([1,2,3,'NaN',4])
s=numpy.isnan(a)
a[s]=0.0
当然可以!请把你想要翻译的内容发给我,我会帮你把它变得更简单易懂。
32
如果你使用的是Python 2.6版本,你可以使用math.isnan()
这个函数来查找NaN
值。
有了这个函数,我们可以用列表推导式来替换列表中的NaN
值,方法如下:
import math
mylist = [0 if math.isnan(x) else x for x in mylist]
如果你使用的是Python 2.5版本,我们可以用NaN != NaN
这个小技巧,具体可以参考这个问题,这样做:
mylist = [0 if x != x else x for x in mylist]