У меня есть набор данных об учащихся, отсортированный по классам, который я хочу разделить на три блока данных, чтобы в каждой из трех групп было четное количество учащихся в каждом классе. Я думал об этом как о раздаче карт: вы знаете, раздавая по одной карте каждому из трех человек по очереди, но хотел бы знать более эффективный способ:
Код: Выделить всё
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]
Условия в цикле предотвращают ошибки выхода индекса за диапазон в случае, если разделенный фрейм данных не делится на 3.
Это работает, но я хотел бы знать, что будет более эффективно.>
Подробнее здесь:
https://stackoverflow.com/questions/797 ... ling-cards