Wie generiert man Zufallszahlen mit einer benutzerdefinierten Verteilung in Python?

Susan Sarandon
Freigeben: 2024-11-10 19:03:02
Original
462 Leute haben es durchsucht

How to Generate Random Numbers with a Custom Distribution in Python?

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
Nach dem Login kopieren

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:

  1. scipy.stats.rv_discrete:

    • Geben Sie Ihre Wahrscheinlichkeiten innerhalb des Werteparameters an.
    • Verwenden Sie Die rvs()-Methode des Verteilungsobjekts zur Zufallsgenerierung Zahlen.
  2. numpy.random.choice() mit p-Parameter:

    • Übergeben Sie die Wahrscheinlichkeiten als p-Schlüsselwort Parameter.
    • Beispiel:

      numpy.random.choice(numpy.arange(1, 7), p=[0.1, 0.05, 0.05, 0.2, 0.4, 0.2])
      Nach dem Login kopieren
  3. random.choices() (Python 3.6):

    • Diese Funktion aus der Standardbibliothek ermöglicht die Angabe Wahrscheinlichkeiten.
    • Beispiel:

      import random
      random.choices(population=list(range(1, 7)), weights=[0.1, 0.05, 0.05, 0.2, 0.4, 0.2])
      Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage