将行和列追加到多维数组Numpy Python



我正在尝试附加以创建一个多维数组,其中它每行输入4个随机数。下面的代码不起作用。我该如何修复它?

import numpy as np
import random 
Array = np.array([[]])
for i in range(3):
for k in range(4):
Array[i][k]= np.append(Array[i][k], random.randint(0,9))

预期输出:

[[1,3,4,8],
[2,3,6,4],
[7,4,1,5],
[8,3,1,1]]

不要这样做。稍后尝试使用np.append. If you must do something like this, use a列表and then convert the resulting list to anumpy.ndarray增量创建这样的数组是非常低效的。

然而,在这种情况下,您只需要:

>>> import numpy as np
>>> np.random.randint(0, 10, (3,4))
array([[0, 3, 7, 4],
[6, 4, 2, 2],
[4, 4, 0, 6]])

或者:

>>> np.random.randint(0, 10, (4,4))
array([[8, 8, 2, 7],
[3, 7, 2, 1],
[5, 5, 5, 5],
[6, 2, 7, 9]])

注意,np.random.randint有一个独占结束,所以如果你想从数字[0,9]中提取,你需要使用9+1作为结束。

最新更新