Pour partager cette vidéo sur les réseaux sociaux ou sur un site, voici son url :
Sujets que vous pourriez aussi aimer :Trier sur les classements
La méthode
Python rank permet de réaliser des calculs de
rangs sur des scores pour effectuer des classements. Nous allons ici l'étudier.
Classeur Excel à télécharger
Nous entendons baser l'étude sur un
classeur Excel existant.

Nous travaillons à partir d'un tableau des élèves avec des moyennes générales.
Le DataFrame
Pour débuter et comme il est de coutume, nous devons commencer par encapsuler les données du
tableau Excel dans un
DataFrame pour pouvoir les piloter par des
méthodes Python.
- Cliquer sur la cellule L1 pour sélectionner la case grisée,
- Réaliser le raccourci clavier CTRL + ALT + MAJ + P pour activer Python,
- Taper le début de syntaxe suivant : res=,
res est le nom que nous souhaitons attribuer à notre
DataFrame.
- Dès lors, sélectionner toutes les données du tableau, ce qui donne :
res=xl("B3:J11",headers=True)
Mais nous ne souhaitons conserver que quelques colonnes.
- A la suite de la syntaxe, ajouter l'énumération des colonnes souhaitées comme suit :
res=xl("B3:J11",headers=True)[['Nom', 'Prénom', 'Moyenne']]
- Valider la syntaxe par le raccourci clavier CTRL + Entrée,
Ainsi, nous construisons un
DataFrame représentant les
colonnes Nom, Prénom et Moyenne à partir du tableau source.
Calculer les rangs
En-dessous et à partir de la
cellule L3, nous souhaitons calculer les
rangs à partir de ces moyennes grâce à la
méthode Python rank.
- Cliquer sur la cellule L3 pour la sélectionner,
- Réaliser le raccourci clavier CTRL + ALT + MAJ + P pour activer Python,
- Puis sur le DataFrame res, bâtir la syntaxe suivante sur deux lignes :
res['Rang'] = res['Moyenne'].rank(ascending = False)
res
- Valider la formule par le raccourci clavier CTRL + Entrée,
Nous obtenons un nouveau
DataFrame. Nous ajoutons une
colonne Rang (
res['Rang']). Avec le
paramètre ascending réglé Ã
False, nous indiquons à la
méthode rank, appliquée sur la
colonne Moyenne, de classer les valeurs en
ordre décroissant, ce qui donnera le
rang 1 Ã la
meilleure moyenne. Puis, nous restituons le
nouveau DataFrame avec ses rangs(res).
- A gauche de la barre de formule, cliquer sur la flèche orientée vers le bas,
- Dans les propositions, choisir Valeur Excel,

Nous obtenons bien une restitution du tableau d'origine, comprimé sur les quelques colonnes que nous avons commandées avec les rangs qui sont sans équivoque quant au classement des candidats.
Nous pourrions même améliorer la solution en ajoutant un tri sur les rangs, comme suit :
res['Rang']=res['Moyenne'].rank(ascending = False)
res.sort_values('Rang').reset_index(drop = True)