Ich habe einen nach Klasse sortierten Datenrahmen von Schülern, den ich in drei Datenrahmen aufteilen möchte, sodass sich in jeder der drei Gruppen eine gerade Anzahl von Schülern pro Klasse befindet. Ich habe es mir wie das Austeilen von Karten vorgestellt, Sie wissen schon, dass Sie nacheinander an jeden von drei Personen eine Karte weitergeben, aber ich würde gerne einen effizienteren Weg kennen:
Code: Select all
for i in range(0, len(blue), 3):
blue_1_df.loc[len(blue_1_df)] = blue.iloc[i]
if i+1 < len(blue):
blue_2_df.loc[len(blue_2_df)] = blue.iloc[i+1]
if i+2 < len(blue):
blue_3_df.loc[len(blue_3_df)] = blue.iloc[i+2]
Die Bedingungen in der Schleife
verhindern Indexfehler außerhalb des Bereichs, falls der zu teilende Datenrahmen nicht durch 3 teilbar ist.
Das funktioniert, aber ich würde gerne wissen, was effizienter wäre.