Zufallszahlen mithilfe einer bestimmten Verteilung generieren
Sie besitzen eine Datei mit Wahrscheinlichkeiten für verschiedene Werte:
1 0.1 2 0.05 3 0.05 4 0.2 5 0.4 6 0.2
Ihr Ziel ist es, auf Grundlage dieser Verteilung Zufallszahlen zu generieren. Sie suchen nach einem vorhandenen Modul, das diese Aufgabe bewältigen kann, und sind sich darüber im Klaren, dass es sich um ein weit verbreitetes Problem handelt, das möglicherweise bereits zur Entwicklung spezieller Funktionen oder Module geführt hat.
Lösung
Das Python-Ökosystem bietet mehrere Optionen zum Generieren von Zufallszahlen mit einem bestimmten Wert Verteilung:
scipy.stats.rv_discrete:
numpy.random.choice() mit p-Parameter:
Beispiel:
numpy.random.choice(numpy.arange(1, 7), p=[0.1, 0.05, 0.05, 0.2, 0.4, 0.2])
random.choices() (Python 3.6):
Beispiel:
import random random.choices(population=list(range(1, 7)), weights=[0.1, 0.05, 0.05, 0.2, 0.4, 0.2])
Diese Module bieten effiziente und unkomplizierte Möglichkeiten, Zufallszahlen mit einer gegebenen Verteilung zu generieren, Dadurch entfällt die Notwendigkeit, benutzerdefinierte Algorithmen zu implementieren.
Das obige ist der detaillierte Inhalt vonWie generiert man Zufallszahlen mit einer benutzerdefinierten Verteilung in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!