所以我有这个数组:
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