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.