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