如何用另一个数组替换数组中的随机值



所以我有这个数组:

TEST = np.array([[1,2,3,4,5], [0,0,1,1,1], [0,1,2,4,5]])

我想用6替换数组中的一个随机数。

有了确切的价值,我会用代替他

TEST[0,0] = 6

但由于这是一个交替的随机数,我不能这样做(或者我可以,只是不知道怎么做(

我们也有重复的值,所以我不能只选择一个值0并将其替换为6,因为它会替换所有的零(我认为(。

那么,有人知道如何替换这个特定数组中的随机数吗?(作为一个例子(。

对于稍有不同的情况,numpy.put()允许您在数组中的扁平索引处进行替换和赋值。

因此,在以下情况下:

test = np.array([[1,2,3,4,5], [0,0,1,1,1], [0,1,2,4,5]])

你可以在0-15范围内选择一个数字,put()就是你的值。

test = np.array([[1,2,3,4,5], [0,0,1,1,1], [0,1,2,4,5]])
i = np.random.randint(np.prod(test.shape))
test.put(i, 100)

test变成类似的东西(如果我原来是11(:

array([[  1,   2,   3,   4,   5],
[  0,   0,   1,   1,   1],
[  0, 100,   2,   4,   5]])

我想你是在说你想这么做;

import numpy as np
import random
test = np.array([[1,2,3,4,5], [0,0,1,1,1], [0,1,2,4,5]])
n1 = random.randrange(test.shape[0])
n2 = random.randrange(test.shape[1])
test[n1][n2] = 6

最新更新