Schnelle Auswahl von n Elementen (aus einer Poisson-Verteilung) für jedes Element in Array x

Ich habe einige Probleme mit der Lösung eines Problems, auf das ich gestoßen bin.

Ich habe ein Array mit Preisen:

>>> x = np.random.randint(10, size=10)
array([6, 1, 7, 6, 9, 0, 8, 2, 1, 8])

Und ein (zufällig) generiertes Array von Poisson-verteilten Ankünften:

>>> arrivals = np.random.poisson(1, size=10)
array([4, 0, 1, 1, 3, 2, 1, 3, 2, 1])

Jede einzelne Ankunft sollte mit dem Preis im selben Index verknüpft sein. Im obigen Fall sollte das erste Element (x [0]) viermal ausgewählt werden (y [0]). Das zweite Element (x [1]) sollte 0-mal ausgewählt werden (y [1]) ... Das Ergebnis sollte also sein:

array([6, 6, 6, 6, 7, 6, 9, 9, 9, 0, 0, 8, 2, 2, 2, 1, 1, 8])

Gibt es eine (schnelle) Möglichkeit, dies zu erreichen, ohne die Arrays zu durchlaufen? Jede Hilfe wäre sehr dankbar.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage