2017-10-28 55 views
-1

我有一个美味的,空数组称为菜肉卷饼:将值插入np.empty数组中,如何替换?

fajita = np.empty(2) 
array([ 2.00000000e+00, 1.72723382e-77]) 

当我使用:

np.insert(fajita,0,[2,2]) 

我得到:

array([ 2.00000000e+00, 2.00000000e+00, 2.00000000e+00, 1.72723382e-77]) 

这里的问题是,我只想要2我插入的值,我不想保留空数组的前一个值。预期的输出应该是一个数组,只有插入的2个值。喜欢的东西:

array([ 2.00000000e+00, 2.00000000e+00]) 
+0

我认为空是我想要的,有没有替代插入? –

+0

我试过,一个 –

+0

仍然无法正常工作,我得到了我想要的值,但一堆0结束 –

回答

4

一种方式与empty和切片设定做到这一点:

import numpy as np 
fajita = np.empty(2) 
fajita[:] = [2, 2] 

另一种方式与fill做到这一点:

fajita = np.empty(2) 
fajita.fill(2) 

另一种解决方案是直接与你想要的值创建数组(我觉得这是你应该做的,这就是为什么我起初并不明白你的问题的原因之一):

fajita = np.array([2,2]) 
1

希望这有助于

# When you want to replace your empty array/matrix 
fajita = [2.00000000e+00, 2.00000000e+00] 
0

或者:

arr = np.empty(0) # you want it to contain 0 elements 
np.insert(arr, 0, [2,2]) 
+0

我想创建一个“预先大小”的数据我有 –

+0

然后你应该永远不会使用'insert',它用于改变数组的大小。 – Eric

+0

好的,所以我的问题是我应该使用什么呢? –