Разделение кадра данных аналогично раздаче картPython

Программы на Python
Ответить
Anonymous
 Разделение кадра данных аналогично раздаче карт

Сообщение Anonymous »

У меня есть набор данных об учащихся, отсортированный по классам, который я хочу разделить на три блока данных, чтобы в каждой из трех групп было четное количество учащихся в каждом классе. Я думал об этом как о раздаче карт: вы знаете, раздавая по одной карте каждому из трех человек по очереди, но хотел бы знать более эффективный способ:

Код: Выделить всё

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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»