无法在numpy数组中插入NA

时间:2018-07-31 11:14:35

标签: python arrays numpy numpy-ndarray

我正在处理这段代码,并停留在这里。

import numpy as np
a = np.arange(10)
a[7:] = np.nan

从理论上讲,它应该插入从索引7开始到数组末尾的缺失值。但是,当我运行代码时,会将一些随机值而不是NA插入到数组中。

有人可以解释这里发生了什么,我应该如何故意将缺失值插入numpy数组?

1 个答案:

答案 0 :(得分:1)

非数字(NA)是浮点数的一种特殊类型。默认情况下,np.arange()创建一个类型为int的数组。将其强制转换为float可以允许您添加NA:

import numpy as np
a = np.arange(10).astype(float)
a[7:] = np.nan