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