numpy:从总M(M> K)项中随机选择K项?

时间:2016-05-21 07:30:27

标签: matlab numpy random

在numpy中是否有一些方便的Matlab函数randperm实现,从完全M(M> K)项中随机选择K项,并返回所选择的indice?

在Matlab中,

randperm(100,10)

ans =

82    90    13    89    61    10    27    51    97    88

1 个答案:

答案 0 :(得分:3)

是的,使用numpy.random.choice function

>>> numpy.random.choice(100, 10, replace=False)
array([89, 99, 27, 39, 80, 31,  6,  0, 40, 93])

请注意,结果范围是0到M-1。如果您需要1到M的MATLAB,请将1添加到结果中:

>>> numpy.random.choice(100, 10, replace=False) + 1
array([ 28,  23,  15,  90,  18,  65,  86, 100,  99,   1])
相关问题