Maison > Article > développement back-end > Comment générer des nombres aléatoires avec une distribution numérique spécifiée en Python ?
Face à la tâche de générer des nombres aléatoires qui adhèrent à une certaine distribution, on peut réfléchir à l'existence de modules préexistants capables de gérer une telle tâche. Après tout, il s'agit d'un problème courant avec une solution potentielle qui a été abordée par de nombreux programmeurs.
Considérons l'exemple suivant :
1 0.1 2 0.05 3 0.05 4 0.2 5 0.4 6 0.2
Ici, nous avons un fichier contenant des valeurs et leurs probabilités correspondantes. Pour générer des nombres aléatoires basés sur cette distribution, nous pourrions utiliser scipy.stats.rv_discrete. En fournissant nos probabilités via le paramètre valeurs, nous pouvons créer un objet de distribution. Par la suite, nous pouvons utiliser la méthode rvs() de l'objet de distribution pour générer des nombres aléatoires.
Cependant, une autre option viable consiste à utiliser numpy.random.choice(). Cette fonction accepte un paramètre de mot-clé p, nous permettant de spécifier directement nos probabilités.
Par exemple :
numpy.random.choice(numpy.arange(1, 7), p=[0.1, 0.05, 0.05, 0.2, 0.4, 0.2])
Et enfin, pour ceux qui utilisent Python 3.6 ou version ultérieure, random.choices() de la bibliothèque standard fournit une solution pratique.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!