Ich habe ein Array von Bezeichnern, die in drei gruppiert wurden. Für jede Gruppe möchte ich sie zufällig einem von drei Sets zuordnen und diese Zuordnungen in einem anderen Array speichern lassen. Also, für eine bestimmte Reihe von gruppierten Kennungen (I vorsortieren sie):Permutationen über Sub-Array in Python
groupings = array([1,1,1,2,2,2,3,3,3])
Eine mögliche Ausgabe
assignments = array([0,1,2,1,0,2,2,0,1])
Letztlich wäre, ich möchte in der Lage sein, viele dieser Zuordnungslisten zu erzeugen, und um es effizient zu machen. Meine aktuelle Methode ist nur ein Nullen Array und stellen Sie die einzelnen aufeinander folgenden Sub-Array mit einer Länge von 3 auf eine zufällige Permutation von 3.en
assignment = numpy.zeros((12,10),dtype=int)
for i in range(0,12,3):
for j in range(10):
assignment[i:i+3,j] = numpy.random.permutation(3)
Gibt es einen besseren/schnelleren Weg zu schaffen?
So verstehe ich die ‚10‘ ein Dummy-Beispielwert ist, dass Sie viel größer möchten. Was ist mit der '12', ist es auch ein Dummy-Wert oder wird es immer 12 sein? – Julien
Es ist auch ein Dummy-Wert. In Wirklichkeit ist es für meinen Fall näher an 12k. – dunstantom