webentwicklung-frage-antwort-db.com.de

Nicht wiederholende Zufallszahl in numpy

Meine Frage ist: Wie kann ich nicht nummerige Zufallszahlen generieren?

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

Wenn Sie nicht darauf bestehen, NumPy zu verwenden, können Sie random.sample() aus der Standardbibliothek verwenden:

print random.sample(range(20), 10)

Mit NumPy müssen Sie numpy.random.shuffle() und Slicing verwenden:

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

Ich denke numpy.random.sample funktioniert jetzt nicht richtig. Das ist mein Weg:

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

Sie können dies auch durch Sortieren erhalten:

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