Automatiser la création de groupes de personnes

Signaler
Messages postés
40
Date d'inscription
lundi 10 février 2020
Statut
Membre
Dernière intervention
25 octobre 2020
-
Messages postés
12816
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
27 octobre 2020
-
Bonjour,

Je dispose d'un dataframe qui représente des personnes, et leurs deux souhaits d'appartenance à un groupe de travail (il y a 5 groupes de travail, et ils doivent se départager. Pour cela, ils énoncent 2 souhaits). On a donc une première colonne de nom de personnes, une deuxième colonne (qui représente un premier vœux d'appartenance à un groupe) où ces personnes devaient entrer un numéro de groupe (de 1 à 5), et une troisième colonne (qui représente un second vœux d'appartenance à un groupe) où les personnes devaient entrer un numéro de groupe (de 1 à 5).

Voici un exemple reproductible :

import pandas as pd
import numpy as np
from numpy import random

data = pd.DataFrame({"prenom" : ["personne1", "personne2", "personne3", "personne4", "personne5", "personne6", "personne7", "personne8", "personne9", "personne10", "personne11", "personne12", "personne13", "personne14", "personne15", "personne16", "personne17", "personne18", "personne19", "personne20"], "choix1" : np.random.randint(low=1, high=5, size=(20,)), "choix2" : np.random.randint(low=1, high=5, size=(20,))})


Je souhaite créer un programme qui répartissent aléatoirement ces personnes dans ces 5 groupes de travail (5 groupes de 4 personnes) en prenant en compte leurs choix. En priorité, on se base sur leur premier vœux ; sinon, on se base sur leur deuxième vœux. L'objectif, c'est que les 5 groupes possèdent bien 4 personnes.

Est-il possible de faire cela sur Python ?
Merci.

4 réponses

Messages postés
12816
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
27 octobre 2020
714
bonjour,
c'est possible, ou pas, en fonction des choix exprimés.
si tu veux réaliser cela, le point de départ, c'est de définir la méthode à utiliser pour faire cette répartition.
pour t'aider dans cette réflexion, fais peut-être cela avec 20 petits cartons sur lesquels tu écris le prénom et les deux choix.
Messages postés
12816
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
27 octobre 2020
714
qu'as-tu essayé?
dans quel contexte fais-tu ce travail?
Messages postés
40
Date d'inscription
lundi 10 février 2020
Statut
Membre
Dernière intervention
25 octobre 2020

Ce travail provient de ma simple curiosité. Dans ma classe de Master, on en arrive souvent à se répartir dans des groupes avec ce système, où chacun expose 2 "vœux", un prioritaire et un secondaire. Je me demandais s'il était possible d'automatiser le processus de répartition dans des groupes grâce à ces vœux, au lieu de le faire manuellement et de perdre du temps.

Pour le moment, je suis en pleine réflexion sur comment je pourrais aborder le problème :) je n'ai rien vraiment testé pour l'instant.
Messages postés
12816
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
27 octobre 2020
714
moi j'essaierais la méthode hongroise.
Messages postés
12816
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
27 octobre 2020
714
ton exemple n'est pas réellement reproductible, comme il se comporte chaque fois différemment.
par ailleurs, tu peux avoir deux choix identiques pour une personne, souhaites-tu réellement cela?