La tâche consiste à transposer une table de données au format CSV, où les valeurs de la colonne "Indicateur" deviennent les nouvelles colonnes. Le résultat souhaité est un format aplati dans lequel les lignes sont définies par « Pays » et « Année », et les colonnes sont des valeurs « Indicateur ».
Pour réaliser l'opération pivot, on peut utiliser la méthode .pivot comme suit :
out = df.pivot(index=['Country', 'Year'], columns='Indicator', values='Value')
Cette méthode réorganise les données de telle sorte que le « Pays » et l'« Année » deviennent les indices de ligne et les valeurs de « l'Indicateur » deviennent les colonnes. La variable « out » résultante contient les données pivotées.
Pour renvoyer les données dans un format de tableau plat, vous pouvez utiliser .rename_axis pour éliminer l'étiquette « Indicateur » des colonnes et utiliser .reset_index pour restaurer « Pays ». et 'Année' sous forme de colonnes.
print(out.rename_axis(columns=None).reset_index())
Cela produit un tableau aplati avec 'Pays', 'Année', et les valeurs « Indicateur » sous forme de colonnes.
En cas de combinaisons « Pays », « Année » et « Indicateur » en double dans le l'ensemble de données original, .pivot_table peut être utilisé. Il effectue une agrégation (moyenne par défaut) sur les valeurs en double.
out = df.pivot_table( index=['Country', 'Year'], columns='Indicator', values='Value') print(out.rename_axis(columns=None).reset_index())
Cette approche aboutit à un tableau aplati dans lequel les valeurs en double sont moyennées et l'étiquette « Indicateur » est omise dans les colonnes.
Pour plus de détails sur la refonte et les tableaux croisés dynamiques dans Pandas, reportez-vous aux ressources suivantes :
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!