<p>我需要一个布尔或二进制numpy数组大小<code>(m,m)</code>,其中<code>n</code>真值随机分散。我试着做一个随机的格子图案。我将有一个<code>5x5</code>数组,上面有<code>3</code>个真值,并且只在这些点采样。<br/>
使用随机选择我有时会得到大于或小于<code>3</code>所需的真值。在</p>
<pre><code>for x in range(0,25):
x = np.random.choice([True,False], p=[0.15,0.85])
</code></pre>
<p>你可以用shuffle直接完成:</p>
<pre><code>n = 3; m = 5
x = [True] * n + [False] * (m * m - n)
np.random.shuffle(x)
result = np.mat(x).reshape(m, m)
</code></pre>