用python中的numpy替换NP.NAN或Na或Nan



我有一个包含数据的numpy数组,但是我想用na替换某些某些值。我不想处理蒙版数据,所以我不掩盖它。这可能吗?

我的数据是一个带有数据类型UINT16的Numpy数组:

array([[[1, 1, 1, ..., 1, 1, 1],
        [1, 1, 1, ..., 1, 1, 1],
        [1, 1, 1, ..., 1, 1, 1],
        ...,
        [1, 1, 1, ..., 1, 1, 1],
        [1, 1, 1, ..., 1, 1, 1],
        [1, 1, 1, ..., 1, 1, 1]]], dtype=uint16)

我想用Na值替换那些" 1" s,我使用了以下代码,但是我遇到了此错误:

aa [aa == 1] = np.nan
ValueError: cannot convert float NaN to integer

type(np.nan)返回 <class 'float'>

您需要您的数组为float类型。

请参阅:Numpy Integer Nan

您尝试将NAN值放入uint16类型的数组中,该类型是不知道NAN值的类型。使用float32尝试使用相同的方法。

最新更新