У меня есть большой pandas фрейм данных, в котором я пытаюсь случайным образом разбить объекты на группы по определенному числу. Например, я пытаюсь разбить указанные ниже object
на группы по 3. Однако группы должны быть из одного type
. Вот набор данных игрушки:
type object index
ball soccer 1
ball soccer 2
ball basket 1
ball bouncy 1
ball tennis 1
ball tennis 2
chair office 1
chair office 2
chair office 3
chair lounge 1
chair dining 1
chair dining 2
... ... ...
Желаемый результат:
type object index group
ball soccer 1 ball_1
ball soccer 2 ball_1
ball basket 1 ball_1
ball bouncy 1 ball_1
ball tennis 1 ball_2
ball tennis 2 ball_2
chair office 1 chair_1
chair office 2 chair_1
chair office 3 chair_1
chair lounge 1 chair_1
chair dining 1 chair_1
chair dining 2 chair_1
... ... ... ...
Итак, здесь группа ball_1
содержит 3 уникальных объекта одного типа: soccer
, basket
и bouncy
. Остающийся объект попадает в группу ball_2
, в которой есть только 1 объект. Поскольку фрейм данных такой большой, я надеюсь на длинный список групп, содержащих 3 объекта и одну группу, содержащую остальные объекты (меньше 3).
Опять же, хотя мой пример содержит только несколько объектов, я надеюсь, что объекты будут случайным образом отсортированы по группам по 3. (Мой настоящий набор данных будет содержать гораздо больше мячей и стульев.)
Это казалось полезным, но я еще не понял, как это применить: Как разделить список на части одинакового размера?