2016-04-21 58 views
1

我坚持用NumPy中的一个简单问题。我有一个零值的数组。一旦我产生一个新的值,我想逐一添加它。用新值逐个替换零数组NumPy

arr=array([0,0,0]) 
# something like this 
l=[1,5,10] 
for x in l: 
    arr.append(x) # from python logic 

所以我想通过一个X添加一个到数组,所以我会得到:第一次迭代arr=([1,0,0]); 2d迭代arr=([1,5,0]);第3号arr=([1,5,10]);

基本上我需要用NumPy中的新值逐个替换零(我正在学习NumPy !!!!!!)。 我检查了许多NumPy选项,如np.append(它增加了现有值的新值),但无法找到正确的选项。

谢谢

回答

1

有几件事情与numpy的回暖:

  • 可以生成阵列全是零与

    >>> np.zeros(3) 
    array([ 0., 0., 0.]) 
    
  • 你可以得到/套带有索引的阵列元素,如list s等:

    arr[2] = 7 
    
    for i, val in enumerate([1, 5, 10]): 
        arr[i] = val 
    
  • 或者,如果你想以填补阵列有点像list,你可以直接使用:

    >>> np.array([1, 5, 10]) 
    array([ 1, 5, 10]) 
    
  • 此外,numpy的对附加的东西到一个数组签名是bit different

    arr = np.append(arr, 7) 
    

话虽如此,你应该考虑潜入Numpy's own userguide