web-dev-qa-db-ja.com

numpyの非反復乱数

私の質問は次のとおりです:numpyで繰り返しのない乱数を生成するにはどうすればよいですか?

list = np.random.random_integers(20,size=(10))
53
Academia

NumPyを使用しない場合は、標準ライブラリの random.sample() を使用できます。

_print random.sample(range(20), 10)
_

NumPyでは、numpy.random.shuffle()とスライスを使用する必要があります。

_a = numpy.arange(20)
numpy.random.shuffle(a)
print a[:10]
_
69
Sven Marnach

おもう numpy.random.sampleは今は機能しません。これが私のやり方です:

import numpy as np
np.random.choice(range(20), 10, replace=False)
75
strnam

これもソートで取得できます。

random_numbers = np.random.random([num_samples, max_int])
samples = np.argsort(random_numbers, axis=1)
0
Ben