随机化数组值

Randomizing Array Values

我有一个 4x4 数组。

最初这些值都设置为 0,但是我想将最里面的 2x2 值更改为随机浮点数。

 a = np.zeros((4,4))
 print(a)
 a[1:3,1:3] = random.uniform(-1,1)
 print(a)

创建输出:

 [[0.         0.         0.         0.        ]
  [0.         0.66529858 0.66529858 0.        ]
  [0.         0.66529858 0.66529858 0.        ]
  [0.         0.         0.         0.        ]]

当期望的结果是:

 [[0.         0.         0.         0.        ]
  [0.         0.random0  0.random1 0.        ]
  [0.         0.random2  0.random3 0.        ]
  [0.         0.         0.         0.        ]]

您需要使用 size 参数来生成 2 x 2 随机矩阵:

a[1:3,1:3] = random.uniform(-1,1,size=(2,2))