我想生成一个 2d 随机数组并选择一些(m)随机索引来通过预定义的值改变它们的值(m)。
举个例子,我想生成4 by 4矩阵。然后选择4随机索引并使用[105,110,115,120]此值更改它们的值。
random_matrix = np.random.randint(0,100,(4,4))
# array([[27, 20, 2, 8],
# [43, 88, 14, 63],
# [ 5, 55, 4, 72],
# [59, 49, 84, 96]])
现在,我想随机选择4索引并从预定义更改它们的值p_array = [105,110,115,120]
我尝试生成这样的所有索引:
[
(i,j)
for i in range(len(random_matrix))
for j in range(len(random_matrix[i]))
]
但是如何从中选择4随机索引并从预定义中更改它们的值p_matrix?我想不出任何解决方案,因为我必须确保4我卡得很厉害的唯一随机索引,因为随机性并不能保证。
我们可以一次生成随机矩阵并选择索引吗?我需要它,因为如果尺寸m越来越大,它会变得越来越慢(当前实现)。我还必须确保性能。