convert nan value to zero

前端 未结 9 1021
暖寄归人
暖寄归人 2020-11-30 23:28

I have a 2D numpy array. Some of the values in this array are NaN. I want to perform certain operations using this array. For example consider the array:

<
9条回答
  •  南笙
    南笙 (楼主)
    2020-12-01 00:34

    You could use np.where to find where you have NaN:

    import numpy as np
    
    a = np.array([[   0,   43,   67,    0,   38],
                  [ 100,   86,   96,  100,   94],
                  [  76,   79,   83,   89,   56],
                  [  88,   np.nan,   67,   89,   81],
                  [  94,   79,   67,   89,   69],
                  [  88,   79,   58,   72,   63],
                  [  76,   79,   71,   67,   56],
                  [  71,   71,   np.nan,   56,  100]])
    
    b = np.where(np.isnan(a), 0, a)
    
    In [20]: b
    Out[20]: 
    array([[   0.,   43.,   67.,    0.,   38.],
           [ 100.,   86.,   96.,  100.,   94.],
           [  76.,   79.,   83.,   89.,   56.],
           [  88.,    0.,   67.,   89.,   81.],
           [  94.,   79.,   67.,   89.,   69.],
           [  88.,   79.,   58.,   72.,   63.],
           [  76.,   79.,   71.,   67.,   56.],
           [  71.,   71.,    0.,   56.,  100.]])
    

提交回复
热议问题