Pandas : Comment remodeler le DataFrame de long à large
Vous pouvez utiliser la syntaxe de base suivante pour convertir un DataFrame pandas d’un format long à un format large :
df = pd.pivot(df, index='col1', columns='col2', values='col3')
Dans ce scénario, col1 deviendra l’index, col2 deviendra les colonnes et col3 sera utilisé comme valeurs à l’intérieur du DataFrame.
L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.
Exemple : remodeler le DataFrame Pandas de Long à Large
Supposons que nous ayons le DataFrame pandas suivant dans un format long :
import pandas as pd #create DataFrame in long format df = pd.DataFrame({'team': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'], 'player': [1, 2, 3, 4, 1, 2, 3, 4], 'points': [11, 8, 10, 6, 12, 5, 9, 4]}) #view DataFrame df team player points 0 A 1 11 1 A 2 8 2 A 3 10 3 A 4 6 4 B 1 12 5 B 2 5 6 B 3 9 7 B 4 4
Nous pouvons utiliser la syntaxe suivante pour remodeler ce DataFrame d’un format long à un format large :
#reshape DataFrame from long format to wide format
df = pd.pivot(df, index='team', columns='player', values='points')
#view updated DataFrame
df
player 1 2 3 4
team
A 11 8 10 6
B 12 5 9 4
Le DataFrame est désormais dans un format large.
Nous avons utilisé « équipe » comme colonne d’index, « joueur » comme colonnes et « points » comme valeurs à l’intérieur du DataFrame.
Notez que nous pourrions à la place utiliser « joueur » comme colonne d’index et « équipe » comme colonnes si nous le souhaitons :
#reshape DataFrame from long format to wide format
df = pd.pivot(df, index='player', columns='team', values='points')
#view updated DataFrame
df
team A B
player
1 11 12
2 8 5
3 10 9
4 6 4
Ce DataFrame est également dans un format large.
Remarque : Vous pouvez trouver la documentation complète de la fonction pandas pivot() ici .
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres opérations courantes en Python :
Pandas : Comment remodeler le DataFrame de large à long
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