什么是有效的(可能用Matlab术语向量化)生成随机数的零和特定比例的零的方法?特别是和Numpy在一起?
由于我的情况很特殊1/3,我的代码是:
1/3
import numpy as np a=np.mod(np.multiply(np.random.randomintegers(0,2,size)),3)
但是,至少K/N在K和N是自然数的情况下,是否有任何内置函数可以更有效地处理此问题?
K/N
如果我正确理解了您的问题,您可能会得到一些有关numpy.random.shuffle的帮助
>>> def rand_bin_array(K, N): arr = np.zeros(N) arr[:K] = 1 np.random.shuffle(arr) return arr >>> rand_bin_array(5,15) array([ 0., 1., 0., 1., 1., 1., 0., 0., 0., 1., 0., 0., 0., 0., 0.])