创建一个空的多维数组

时间:2018-05-29 07:48:01

标签: python numpy

在Python中使用np.empty()时,例如np.empty((3,1)),我们得到一个大小为(3,1)的数组,但实际上它不是空的并且它包含非常小的值(例如,1.7*(10^315))。是否可以创建一个真正为空的数组/没有值但给定尺寸/形状的数组?

3 个答案:

答案 0 :(得分:1)

我猜这是空的,你的意思是一个用零填充的数组。

使用np.zeros()创建一个带零的数组。 np.empty()只是分配数组,所以那里的数字是垃圾。它是一种甚至可以降低将值设置为零的成本的方法。但使用np.zeros()通常更安全。

答案 1 :(得分:1)

我建议使用np.nan。如下所示,

yourdata = np.empty((3,1)) * np.nan

(OR)

您可以使用np.zeros((3,1))。但它会将所有值填充为zero。它不直观。我觉得在实践中使用np.nan是最好的。

一切都取决于你,并取决于你的要求。

答案 2 :(得分:1)

我建议使用np.full_like直接选择填充值...

x = np.full_like((3, 1), None, dtype=object)

...当然你选择的那种dtype定义了你的意思"空"