"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment faire pivoter une trame de données à l'aide de Pandas ?

Comment faire pivoter une trame de données à l'aide de Pandas ?

Publié le 2024-11-14
Parcourir:263

How to Pivot a Dataframe Using Pandas?

Comment faire pivoter un dataframe à l'aide de Pandas

Remodeler les données tabulaires est une tâche essentielle dans l'analyse des données. Le pivotement, une technique de transposition de lignes et de colonnes dans un dataframe, est souvent utile pour créer des tableaux croisés dynamiques et explorer les données sous différentes perspectives. Voyons comment effectuer cette opération dans Pandas, une puissante bibliothèque de manipulation de données.

Pour faire pivoter une trame de données, utilisez principalement la méthode .pivot. Cette méthode prend plusieurs arguments :

  1. index : Spécifie la ou les colonnes qui doivent devenir l'index du dataframe pivoté.
  2. columns : indique la ou les colonnes devant devenir les en-têtes de colonne du dataframe pivoté.
  3. values : indique les colonne(s) dont les valeurs doivent être utilisées pour remplir le tableau croisé dynamique.

Par exemple, considérons le cadre de données suivant :

Indicator  Country  Year  Value
1          Angola   2005  6
2          Angola   2005  13
3          Angola   2005  10
4          Angola   2005  11
5          Angola   2005  5
1          Angola   2006  3
2          Angola   2006  2
3          Angola   2006  7
4          Angola   2006  3
5          Angola   2006  6

Pour faire pivoter ce cadre de données afin que les valeurs de la colonne Indicateur deviennent les nouvelles colonnes, utilisez le code suivant :

out = df.pivot(index=['Country', 'Year'], columns='Indicator', values='Value')
print(out)

Cette opération produira la trame de données pivotée suivante :

Indicator     1   2   3   4  5
Country Year
Angola  2005  6  13  10  11  5
        2006  3   2   7   3  6

Pour reconvertir le cadre de données pivoté en un tableau plat, utilisez .rename_axis pour supprimer l'axe Indicateur et .reset_index pour reconvertir le pays et l'année en colonnes normales.

print(out.rename_axis(columns=None).reset_index())

Cela entraînera la trame de données d'origine structure :

  Country  Year  1   2   3   4  5
0  Angola  2005  6  13  10  11  5
1  Angola  2006  3   2   7   3  6

Si vos données contiennent des combinaisons d'étiquettes en double (par exemple, pays, année, indicateur), utilisez .pivot_table. Cette méthode prend la moyenne par défaut.

out = df.pivot_table(
    index=['Country', 'Year'],
    columns='Indicator',
    values='Value')
print(out.rename_axis(columns=None).reset_index())

Cela produira une trame de données pivotée similaire, mais avec des valeurs moyennes pour les combinaisons en double.

Pour un aperçu plus détaillé, reportez-vous au guide de l'utilisateur Pandas sur le remodelage et les tableaux croisés dynamiques.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3