formateur informatique

Transformer un tableau Excel de colonnes en lignes

Accueil  >  Bureautique  >  Excel  >  Excel Avancé  >  Transformer un tableau Excel de colonnes en lignes
Livres à télécharger


Pour partager cette vidéo sur les réseaux sociaux ou sur un site, voici son url :


Inscription Newsletter    Abonner à Youtube    Vidéos astuces Instagram
Sujets que vous pourriez aussi aimer :


Convertir Largeur / Hauteur

La méthode Python stack est très utile pour transformer un DataFrame en réorganisant les colonnes en niveaux d'index, soit en lignes énumérées. Cette technique permet de convertir des données de format large (Organisation en largeur) en format long (Organisation en hauteur), ce qui est souvent nécessaire pour certaines analyses ou visualisations.

Classeur Excel à télécharger
Pour les démonstrations, nous suggérons de baser l'étude sur un classeur Excel existant. Nous découvrons un tableau des ventes réalisées par grandes villes sur sept mois de l'année.

Tableau des ventes Excel

Il s'étend entre les colonnes B et I.

Sur la droite, une grille d'extraction est en attente de la restitution linéaire de ces informations par formule Python.

Grille d-extraction Excel par formule Python

Elle s'étend entre les colonnes K et M.

Le DataFrame
Pour piloter ces données et comme nous en avons l'habitude, nous devons commencer par les encapsuler dans un objet Python, un DataFrame.
  • Cliquer sur la première case grisée en haut à droite du tableau pour sélectionner la cellule K1,
  • Réaliser le raccourci clavier CTRL + ALT + MAJ + P pour activer Python,
  • Puis, débuter la syntaxe comme suit : tab =,
tab est le nom que nous souhaitons attribuer à notre DataFrame devant embarquer ces données.
  • Dès lors, sélectionner toutes les données du tableau source, ce qui donne :
tab=xl("B4:I8", headers=True)
  • Valider la syntaxe par le raccourci clavier CTRL + Entrée,
Nous obtenons effectivement un DataFrame représentant les données du tableau. C'est sur lui que nous allons désormais pouvoir agir.

Transformation linéaire
Nous l'avons dit, nous souhaitons restituer ces données à plat, les unes sous les autres, grâce à la méthode Python stack.
  • Cliquer sur la première case vide de la grille d'extraction pour sélectionner la cellule K4,
  • Réaliser le raccourci clavier CTRL + ALT + MAJ + P pour activer Python,
  • Puis, débuter la syntaxe comme suit : lignes = tab.set_index('Ville').stack().reset_index(),
Nous nommons notre objet Python résultant sous l'intitulé lignes. Nous définissons la Colonne Ville comme index du DataFrame : tab.set_index('Ville'). Grâce à la méthode stack, nous organisons les données en hauteur : stack(). Et la méthode reset_index permet de confirmer cette transformation linéaire sur des colonnes qu'il nous reste à définir.

Dégrouper les données
Nous souhaitons maintenant restituer indépendamment et non plus de façon groupée les données sur les mois et les chiffres correspondants. Pour cela, nous allons exploiter la propriété columns pour énumérer les colonnes à la sortie pour la succession linéaire.
  • A la suite de la syntaxe, enfoncer la touche Entrée pour passer à la ligne,
  • Puis, ajouter la syntaxe suivante : lignes.columns = ['Ville', 'Mois', 'Valeur'],
Pour chaque mois, nous listons et répétons les villes les unes en-dessous des autres et restituons les chiffres dans une colonne que nous nommons Valeur.
  • A la fin de la syntaxe, enfoncer la touche Entrée du clavier,
  • Puis, terminer la syntaxe comme suit : lignes,
Nous restituons ainsi les données du DataFrame transformé.
  • Valider la formule par le raccourci clavier CTRL + Entrée,
Nous obtenons un nouveau DataFrame mais que nous souhaitons exploiter.
  • A gauche de la barre de formule, cliquer sur la flèche orientée vers le bas,
  • Dans les propositions, choisir Valeur Excel,
Transformer un tableau Excel fait de colonnes en lignes par formule Python

Nous obtenons bien une restitution "à plat" par villes répétées sur tous les mois désormais réitérés avec les chiffres en regard.

 
Sur Facebook
Sur Youtube
Les livres
Contact
Mentions légales



Abonnement à la chaîne Youtube
Partager la formation
Partager sur Facebook
Partager sur Twitter
Partager sur LinkedIn