私の質問は次のとおりです:numpyで繰り返しのない乱数を生成するにはどうすればよいですか?
list = np.random.random_integers(20,size=(10))
NumPyを使用しない場合は、標準ライブラリの random.sample()
を使用できます。
_print random.sample(range(20), 10)
_
NumPyでは、numpy.random.shuffle()
とスライスを使用する必要があります。
_a = numpy.arange(20)
numpy.random.shuffle(a)
print a[:10]
_
おもう numpy.random.sample
は今は機能しません。これが私のやり方です:
import numpy as np
np.random.choice(range(20), 10, replace=False)
これもソートで取得できます。
random_numbers = np.random.random([num_samples, max_int])
samples = np.argsort(random_numbers, axis=1)