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.

Pandas : Comment remodeler le DataFrame de large à long



Vous pouvez utiliser la syntaxe de base suivante pour convertir un DataFrame pandas d’un format large en un format long :

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

Dans ce scénario, col1 est la colonne que nous utilisons comme identifiant et col2 , col3 , etc. sont les colonnes dont nous annulons le pivotement.

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

Exemple : remodeler le DataFrame Pandas de large à long

Supposons que nous ayons le DataFrame pandas suivant :

import pandas as pd

#create DataFrame
df = pd.DataFrame({'team': ['A', 'B', 'C', 'D'],
                   'points': [88, 91, 99, 94],
                   'assists': [12, 17, 24, 28],
                   'rebounds': [22, 28, 30, 31]})

#view DataFrame
df

	team	points	assists	rebounds
0	A	88	12	22
1	B	91	17	28
2	C	99	24	30
3	D	94	28	31

Nous pouvons utiliser la syntaxe suivante pour remodeler ce DataFrame d’un format large à un format long :

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

#view updated DataFrame
df

	team	variable	value
0	A	points	        88
1	B	points	        91
2	C	points	        99
3	D	points	        94
4	A	assists	        12
5	B	assists	        17
6	C	assists	        24
7	D	assists	        28
8	A	rebounds	22
9	B	rebounds	28
10	C	rebounds	30
11	D	rebounds	31

Le DataFrame est désormais dans un format long.

Nous avons utilisé la colonne « équipe » comme colonne d’identification et nous avons annulé le pivotement des colonnes « points », « passes décisives » et « rebonds ».

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

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

#view updated DataFrame
df

	team	metric	 amount
0	A	points	 88
1	B	points	 91
2	C	points	 99
3	D	points	 94
4	A	assists	 12
5	B	assists	 17
6	C	assists	 24
7	D	assists	 28
8	A	rebounds 22
9	B	rebounds 28
10	C	rebounds 30
11	D	rebounds 31

Remarque : Vous pouvez trouver la documentation complète de la fonction pandas melt() ici .

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 *