numpy整数nan

发布于 2021-01-29 19:35:55

有没有一种方法可以将NaN存储在整数的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
被浏览
84
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    不,至少在当前版本的NumPy中不能。Anan仅对 float数组的特殊值。

    有人在谈论引入一个特殊的位,该位将允许非浮点数组存储实际上与a相对应的内容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)
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看