用新值逐个替换零数组NumPy

时间:2016-04-21 12:41:42

标签: arrays 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 个答案:

答案 0 :(得分:1)

numpy有几件事要做:

  • 您可以使用

    生成充满零的数组
    >>> np.zeros(3)
    array([ 0.,  0.,  0.])
    
  • 您可以使用list等索引来获取/设置数组元素:

    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