Python 将元素追加到numpy nd数组
我已经初始化了一个numpy nd数组,如下所示Python 将元素追加到numpy nd数组,python,arrays,numpy,append,Python,Arrays,Numpy,Append,我已经初始化了一个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标量索引?我可
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
有什么建议吗
arr.append(1)
不适用于1D数组。这是一个列表支持,而不是数组。另外,听起来你想把东西分配给现有的数组单元格,而不是像追加那样使数组变大。arr[0,:]=[1,4,2,5,6,4]
@user2357112supportsMonica是的,我已经更正了。当我初始化arr=[]时,Append起作用。是的,我不想做阵列bigger@hpaulj我想逐行追加每个条目。每次调用函数fun
时,它只会生成一个必须存储在arr中的条目
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]])