Personnaliser les préférences

Nous utilisons des cookies pour vous aider à naviguer efficacement et à exécuter certaines fonctions. Vous trouverez ci-dessous des informations détaillées sur tous les cookies sous chaque catégorie de consentement.

Les cookies classés comme « Nécessaires » sont stockés sur votre navigateur car ils sont essentiels pour activer les fonctionnalités de base du site.... 

Toujours actif

Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.

Aucun cookie à afficher.

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

Aucun cookie à afficher.

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

Aucun cookie à afficher.

Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.

Aucun cookie à afficher.

Advertisement cookies are used to provide visitors with customized advertisements based on the pages you visited previously and to analyze the effectiveness of the ad campaigns.

Aucun cookie à afficher.

Comment annuler le pivotement d’un DataFrame Pandas (avec exemple)



Dans les pandas, vous pouvez utiliser la fonction melt() pour annuler le pivotement d’un DataFrame – en le convertissant d’un format large en un format long .

Cette fonction utilise la syntaxe de base suivante :

df_unpivot = pd.melt(df, id_vars='col1', value_vars=['col2', 'col3', ...])

où:

  • id_vars : Les colonnes à utiliser comme identifiants
  • value_vars : Les colonnes à annuler le pivotement

L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.

Exemple : annuler le pivotement d’un DataFrame Pandas

Supposons que nous ayons le DataFrame pandas suivant :

import pandas as pd

#create DataFrame
df = pd.DataFrame({'team': ['A', 'B', 'C', 'D', 'E'],
                   'points': [18, 22, 19, 14, 14],
                   'assists': [5, 7, 7, 9, 12],
                   'rebounds': [11, 8, 10, 6, 6]})

#view DataFrame
print(df)

  team  points  assists  rebounds
0    A      18        5        11
1    B      22        7         8
2    C      19        7        10
3    D      14        9         6
4    E      14       12         6

Nous pouvons utiliser la syntaxe suivante pour « dépivoter » le DataFrame :

#unpivot DataFrame from wide format to long format
df_unpivot = pd.melt(df, id_vars='team', value_vars=['points', 'assists', 'rebounds'])

#view updated DataFrame
print(df_unpivot)

   team  variable  value
0     A    points     18
1     B    points     22
2     C    points     19
3     D    points     14
4     E    points     14
5     A   assists      5
6     B   assists      7
7     C   assists      7
8     D   assists      9
9     E   assists     12
10    A  rebounds     11
11    B  rebounds      8
12    C  rebounds     10
13    D  rebounds      6
14    E  rebounds      6

Nous avons utilisé la colonne équipe comme colonne d’identifiant et nous avons choisi de ne pas pivoter les colonnes points , passes décisives et rebonds .

Le résultat est un DataFrame au format long.

Notez que nous pouvons également utiliser les arguments var_name et value_name pour spécifier les noms des colonnes dans le DataFrame non pivoté :

#unpivot DataFrame from wide format to long format 
df_unpivot = pd.melt(df, id_vars='team', value_vars=['points', 'assists', 'rebounds'],
             var_name='metric', value_name='amount')

#view updated DataFrame
print(df_unpivot)

   team    metric  amount
0     A    points      18
1     B    points      22
2     C    points      19
3     D    points      14
4     E    points      14
5     A   assists       5
6     B   assists       7
7     C   assists       7
8     D   assists       9
9     E   assists      12
10    A  rebounds      11
11    B  rebounds       8
12    C  rebounds      10
13    D  rebounds       6
14    E  rebounds       6

Notez que les nouvelles colonnes sont désormais intitulées métrique et montant .

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres opérations courantes en Python :

Comment ajouter des lignes à un DataFrame Pandas
Comment ajouter des colonnes à un DataFrame Pandas
Comment compter les occurrences de valeurs spécifiques dans Pandas DataFrame

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *