Maison > développement back-end > Tutoriel Python > Comment faire pivoter une trame de données à l'aide de Pandas ?

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

Patricia Arquette
Libérer: 2024-11-21 02:10:14
original
176 Les gens l'ont consulté

How to Pivot a Dataframe Using Pandas?

Comment faire pivoter une trame de données à 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. Explorons 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. colonnes : Indique la ou les colonnes qui doivent devenir les en-têtes de colonne du cadre de données pivoté.
  3. values : Désigne la ou les colonnes dont les valeurs doivent être utilisées pour remplir le tableau croisé dynamique.

Par exemple, considérons le dataframe 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
Copier après la connexion

Pour faire pivoter ce dataframe 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)
Copier après la connexion

Cette opération produira le dataframe pivoté suivant :

Indicator     1   2   3   4  5
Country Year
Angola  2005  6  13  10  11  5
        2006  3   2   7   3  6
Copier après la connexion

Pour reconvertir le dataframe pivoté en un tableau plat, utilisez .rename_axis pour supprimer l'axe de l'indicateur et .reset_index pour convertir le pays et Année de retour aux colonnes normales.

print(out.rename_axis(columns=None).reset_index())
Copier après la connexion

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

  Country  Year  1   2   3   4  5
0  Angola  2005  6  13  10  11  5
1  Angola  2006  3   2   7   3  6
Copier après la connexion

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())
Copier après la connexion

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 à l'utilisateur Pandas. guide sur le remodelage et les tableaux croisés dynamiques.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal