我有一个包含数据的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
尝试使用相同的方法。