Heim > Backend-Entwicklung > Python-Tutorial > Wie erzeuge ich Zufallszahlen mit einer bestimmten Verteilung in Python?

Wie erzeuge ich Zufallszahlen mit einer bestimmten Verteilung in Python?

Susan Sarandon
Freigeben: 2024-11-10 17:28:02
Original
697 Leute haben es durchsucht

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

Zufallszahlen mit einer angegebenen (numerischen) Verteilung generieren

Dieser Artikel befasst sich mit der Herausforderung, Zufallszahlen basierend auf einer bestimmten Verteilung zu generieren. Insbesondere liegt der Fokus auf einer bestimmten Verteilung, wie sie in der Eingabe beschrieben ist:

1 0.1
2 0.05
3 0.05
4 0.2
5 0.4
6 0.2
Nach dem Login kopieren

Bestehende Module zur verteilungsbasierten Zufallszahlengenerierung

Es ist möglich, eine maßgeschneiderte Lösung für die Generierung zu entwickeln Zufallszahlen gemäß der angegebenen Verteilung. Dazu gehört die Erstellung der kumulativen Dichtefunktion und die Auswahl des entsprechenden Werts basierend auf einem zufällig generierten Wert zwischen 0 und 1. Zahlreiche vorhandene Module können diese Aufgabe jedoch vereinfachen, sodass keine manuelle Codierung erforderlich ist.

scipy.stats. rv_discrete

Ein solches Modul ist scipy.stats.rv_discrete, mit dem Sie Wahrscheinlichkeiten über seinen Werteparameter angeben können. Um Zufallszahlen zu generieren, können Sie die Methode rvs() des Verteilungsobjekts aufrufen.

numpy.random.choice()

Eine andere Möglichkeit ist die Verwendung von numpy.random.choice() Funktion. Es akzeptiert eine Liste von Werten und weist Wahrscheinlichkeiten mithilfe des Schlüsselwortparameters p zu. Zum 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

random.choices()

Für Python 3.6 und höher können Sie random.choices() aus der Standardbibliothek nutzen. Hier ist ein Beispiel:

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

Das obige ist der detaillierte Inhalt vonWie erzeuge ich Zufallszahlen mit einer bestimmten 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