Ma question est la suivante: comment générer des nombres aléatoires non répétitifs dans numpy?
list = np.random.random_integers(20,size=(10))
Si vous n'insistez pas pour utiliser NumPy, vous pouvez utiliser random.sample()
à partir de la bibliothèque standard:
print random.sample(range(20), 10)
Avec NumPy, vous devrez utiliser numpy.random.shuffle()
et découper:
a = numpy.arange(20)
numpy.random.shuffle(a)
print a[:10]
Je pense que numpy.random.sample
ne fonctionne pas correctement, maintenant. C'est mon chemin:
import numpy as np
np.random.choice(range(20), 10, replace=False)
Vous pouvez l'obtenir en triant également:
random_numbers = np.random.random([num_samples, max_int])
samples = np.argsort(random_numbers, axis=1)