我有一个包含数据的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”,我使用了下面的代码,但出现此错误:
aa [aa == 1] = np.nan
ValueError: cannot convert float NaN to integer
答案 0 :(得分:2)
答案 1 :(得分:1)
您尝试将NaN值放入类型为uint16
的数组中,该类型是不知道NaN值的类型。尝试使用float32
进行同样的操作,它将起作用。