Pour partager cette vidéo sur les réseaux sociaux ou sur un site, voici son url :
Sujets que vous pourriez aussi aimer :Dégrouper les données d'un tableau Excel
Nous allons apprendre ici à placer des données linéairement à partir d'un
tableau Excel structuré dans lequel les informations sont regroupées par identifiants. Ce mécanisme peut s'avérer très intéressant pour certaines analyses. Et c'est la
méthode Python melt qui permet de dégrouper des informations.
Classeur Excel à télécharger
Nous proposons de développer la solution à partir d'un
classeur Excel existant.

Nous découvrons un tableau des résultats obtenus par des candidats à des épreuves. Ils sont tous dotés d'un identifiant unique en première colonne. Ces résultats sont donc pour l'instant consolidés puisque réunis sur une même ligne pour un même candidat. Mais nous souhaitons les dégrouper pour faire une ligne par matière.
Au-dessus en
cellule B1, nous avons construit un
DataFrame Python pour représenter ces données, selon la syntaxe suivante :
tab=xl("B3:F13", headers=True). Sur la droite, une grille vide, entre les
colonnes H et K, attend l'extraction des données dégroupées.
Déconsolider sur les identifiants et noms
Cette
méthode melt, nous devons commencer par la faire agir sur la
paire ID / Nom.
- Cliquer sur la première case de la grille d'extraction pour sélectionner la cellule H3,
- Réaliser le raccourci clavier CTRL + ALT + MAJ + P pour activer Python,
- Dès lors, débuter la syntaxe comme suit : tab.melt(['ID', 'Nom'],
Nous déconsolidons donc sur les identifiants et noms pour en faire des lignes individuelles.
Les colonnes à présenter linéairement
Nous devons maintenant représenter les résultats obtenus dans les matières Maths, Science et Programmation, sur chaque ligne indépendante.
- Taper une virgule pour passer dans l'argument des colonnes à lisser,
- Enumérer ces colonnes comme suit : ['Maths', 'Science', 'Programmation'],
Les colonnes de réception
Dans cette restructuration, nous devons nommer les colonnes pour celle des matières bien entendu mais aussi pour celle des scores à greffer en regard.
- Taper une virgule pour passer dans l'argument des colonnes de réception,
- Puis les construire selon la syntaxe suivante : 'Sujet', 'Score',
- Fermer la parenthèse de la méthode melt,
- Puis, valider la formule par le raccourci clavier CTRL + Entrée,
Fort naturellement, nous obtenons un
DataFrame. Nous voulons exploiter ses données.
- A gauche de la barre de formule, cliquer sur la flèche orientée vers le bas,
- Dans les propositions, choisir Valeur Excel,
Comme vous le constatez, les résultats sont déployés par matière. Chaque candidat est répété dans chaque matière avec son score en regard.

Nous avions un tableau de 10 lignes. Ce découpage conduit à un tableau de 30 lignes (10 candidats X 3 matières).
La syntaxe finale de la formule de déconsolidation que nous avons construite est la suivante :
tab.melt(['ID','Nom'], ['Maths', 'Science', 'Programmation'], 'Sujet', 'Score')