我想知道如何创建一个空元素,其元素可以调用,因为:
a = np.empty(4)
给出了以下不是真实的空数组:
a = array([ 0. , 0. , 431.675, 291.84 ])
我不明白为什么(请告诉我原因!)这种情况正在发生,但无论如何,我试过这个:
b = np.empty((0,4))
它给出了这个:
b = array([], shape=(0, 4), dtype=float64)
听起来像一个空数组,但其元素不可调用,如:
b[0]
给出:
index 0 is out of bounds for axis 0 with size 0
我知道我可以拥有一个包含任何元素的数组,然后覆盖每个元素的值,如下所示:
p1 = [10,20,100,24352435] #instead of p1 = np.empty(4)
p2 = [1,0,0,1]
for i in range(4):
if p2[i] == 0:
p1[i] = int(1)
else:
p1[i] = int(0)
但问题是np.empty
然后是什么意思?!
答案 0 :(得分:2)
您希望np.zeros
代替empty
。 empty
会创建n
项,但不会将它们初始化为任何值。因此,它是未定义的/随机的。
由于其未定义,np.empty
可以更有效。
>>> np.zeros(4)
array([0., 0., 0., 0.])