python - Numpy 整数 nan

标签 python numpy integer nan

有没有办法将 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

最佳答案

不,你不能,至少对于当前版本的 NumPy。 nan 是 float 组的特殊值only

关于引入一个特殊位的讨论,该位将允许非 float 组存储实际上对应于 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)

关于python - Numpy 整数 nan,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12708807/

相关文章:

python - 在 Python 中确定嵌套元组的嵌套级别的简单方法

python - 设置 Statsmodels 线性回归的数据格式

javascript - 将字符串javascript数组转换为整数javascript数组

java 。如何生成其中包含一定数量的 1's and 0' 的所有整数?

python - PySpark运行时错误: Set changed size during iteration

python - 无法让 Counter() 在 python 中工作

python - 指数函数中单个变量的 Scipy Curvefit

python - 使 np.vectorize 在标量输入上返回标量值

python - Pandas 命名聚合不适用于 resample agg

javascript - 在 Python 中使用大整数模拟 JavaScript 加法错误