Maison  >  Article  >  développement back-end  >  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
Patricia Arquetteoriginal
2024-11-21 02:10:14110parcourir

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

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)

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

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())

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

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 à 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!

Déclaration:
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