将元素添加到numpy nd数组中

问题描述 投票:-1回答:1

我已经像下面那样初始化了一个numpy nd数组

arr =  np.zeros((6, 6))

此空数组作为输入参数传递给函数,

def fun(arr):
    arr.append(1) # this works for arr = [] initialization
    return arr

for  i in range(0,12):
     fun(arr) 

但是append对nd数组不起作用。我想逐行填充nd数组的元素。有什么办法可以对nd数组使用python标量索引吗?我可以在每次调用fun时增加此索引,并将元素追加到arr中。

有什么建议吗?

我已经初始化了一个numpy nd数组,如下所示arr = np.zeros((6,6))这个空数组作为输入参数传递给函数def fun(arr):arr.append(1)#这适用于arr = [...

python arrays numpy append
1个回答
0
投票
In [523]: arr = np.zeros((6,6),int)                                                            
In [524]: arr                                                                                  
Out[524]: 
array([[0, 0, 0, 0, 0, 0],
       [0, 0, 0, 0, 0, 0],
       [0, 0, 0, 0, 0, 0],
       [0, 0, 0, 0, 0, 0],
       [0, 0, 0, 0, 0, 0],
       [0, 0, 0, 0, 0, 0]])
In [525]: arr[0] = 1                                                                           
In [526]: arr                                                                                  
Out[526]: 
array([[1, 1, 1, 1, 1, 1],
       [0, 0, 0, 0, 0, 0],
       [0, 0, 0, 0, 0, 0],
       [0, 0, 0, 0, 0, 0],
       [0, 0, 0, 0, 0, 0],
       [0, 0, 0, 0, 0, 0]])
In [527]: arr[1] = [1,2,3,4,5,6]                                                               
In [528]: arr[2,3:] = 2                                                                        
In [529]: arr                                                                                  
Out[529]: 
array([[1, 1, 1, 1, 1, 1],
       [1, 2, 3, 4, 5, 6],
       [0, 0, 0, 2, 2, 2],
       [0, 0, 0, 0, 0, 0],
       [0, 0, 0, 0, 0, 0],
       [0, 0, 0, 0, 0, 0]])
© www.soinside.com 2019 - 2024. All rights reserved.