有没有办法将NN存储在Numpy整数数组中? 我明白了:
a=np.array([1],dtype=long)
a[0]=np.nan
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: cannot convert float NaN to integer
答案 0 :(得分:33)
不,你不能,至少在当前版本的NumPy上。 nan
是浮点数组仅的特殊值。
有关于引入一个特殊位的讨论会允许非浮点数组存储实际上与nan
对应的内容,但到目前为止(2012/10),它只是会话。
与此同时,您可能需要考虑numpy.ma
包:您可以使用特殊numpy.ma.masked
值来表示无效值,而不是选择无效的整数(如-99999)。
a = np.ma.array([1,2,3,4,5], dtype=int)
a[1] = np.ma.masked
masked_array(data = [1 -- 3 4 5],
mask = [False True False False False],
fill_value = 999999)
答案 1 :(得分:6)
nan只是浮点数,整数中没有它的表示,所以没有:)
选择无效值,例如-99999