Ich muss Benutzer zufällig zu Gruppen zuweisen. Die Tabelle des Prozess bestimmt, ist wie folgt:Bedingte zufällige Zuordnung in Python
A B C
0 9 1 1
1 1 7 8
2 0 2 1
Gemäß der obigen Matrix, gibt es insgesamt 11 Benutzer aus dem Bereich 0, 16 aus dem Bereich 1 und 3 aus dem Bereich 2.
Weiterhin von die 11 Benutzer aus Bereich 0, 9 sollten der Gruppe A zugeordnet werden, 1 sollte jeweils B und C zugeordnet werden. Der Prozess ist analog für die übrigen Gruppen.
Ich habe einige Code in Python:
import random
import pandas as pd
df = pd.DataFrame({"A": [9,1,0], "B": [1,7,2], "C": [1,8,1]})
random.sample(range(1,df.sum(axis=1)[0] + 1),df.sum(axis=1)[0])
Die letzte Zeile erzeugt einen Zufallsvektor von ganzen Zahlen z.B. [1, 4, 10, 2, 5, 11, 9, 3, 8, 7, 6]
. Ich kann Indizes von 1 bis 9 zu Gruppe A, den Index mit 10 zu Gruppe B, den Index mit 11 zu Gruppe C zuweisen. Mit anderen Worten, Benutzer 3 geht zu Gruppe B, Benutzer 6 geht zu Gruppe C und alle geht Rest der Gruppe A.
Der gewünschte Ausgang [A,A,B,A,A,C,A,A,A,A,A]
wäre, oder noch besser, ein Pandas Datenrahmen wie:
1 A
2 A
3 B
4 A
5 A
6 C
...
Wie kann ich automatisiere den Prozess, den ich oben in Worten beschrieben? (Die tatsächliche Zuteilung Matrix 10 x 10)
Danke! Das wurde sehr gut erklärt. – wwl