Wie zu tun, gewichtete Stichprobe von Kategorien in python

Gegeben eine Liste von Tupeln, wobei jedes Tupel besteht aus einer Wahrscheinlichkeit und eine Sache möchte ich zum Beispiel ein Element entsprechend seiner Wahrscheinlichkeit. Zum Beispiel, geben Sie die Liste [ (.3, 'a'), (.4, 'b'), (.3, 'c')] ich würde gerne auf Probe " b " 40% der Zeit.

Was ist der übliche Weg, dies zu tun, in python?

Habe ich mir angeschaut das random-Modul, das scheint nicht zu haben eine entsprechende Funktion und numpy.zufällig die, obwohl es eine polynomial-Funktion scheint nicht zu die Ergebnisse in eine schöne form für dieses problem. Ich bin im Grunde auf der Suche nach etwas wie mnrnd in matlab.

Vielen Dank.

Danke für die vielen Antworten, so schnell. Um zu klären, ich bin nicht auf der Suche nach Erklärungen, wie zu schreiben, ein sampling-Schema, sondern verwies auf einfache Weise eine Stichprobe aus einer multinomial-Verteilung gegeben sei eine Menge von Objekten und gewichten oder gesagt werden, dass keine solche Funktion existiert in der standard-Bibliothek und so sollte man schreiben, die eigenen.

InformationsquelleAutor John | 2011-06-21
Schreibe einen Kommentar