我有一个用零和一个填充的numpy数组,在创建数组之后,我需要用一些零替换一些零。这是我的数组代码:
grid = np.random.randint(0, 2, size=(4,4))
np.random.shuffle(grid)
我试过了:
grid[grid == 0] = np.random.binomial(1, 0.9, size = None)
和
grid[grid == 0] = np.random.randint(0, 2)
然后所有的零都被替换为1或根本没有被替换。有没有办法只替换一些零?
答案 0 :(得分:1)
而不是单次绘制,多次绘制
grid = np.random.randint(0, 2, size=(4,4))
np.random.shuffle(grid)
grid[grid==0] = np.random.binomial(1, 0.5, size = grid[grid==0].shape[0])
答案 1 :(得分:1)
这个怎么样:
grid += np.random.binomial(1, 0.9, size=grid.shape) * (grid == 0)
答案 2 :(得分:0)
你最好再试一次。
对我来说,shuffle方法有效。
np.random.shuffle(grid)
虽然似乎只在两次应用后才起作用....