Maison > développement back-end > Tutoriel Python > Comment transformer une table de données dans Pandas avec les valeurs de la colonne « Indicateur » devenant de nouvelles colonnes ?

Comment transformer une table de données dans Pandas avec les valeurs de la colonne « Indicateur » devenant de nouvelles colonnes ?

Mary-Kate Olsen
Libérer: 2024-12-04 20:30:15
original
301 Les gens l'ont consulté

How do I transform a data table in Pandas with the 'Indicator' column values becoming new columns?

Faire pivoter une trame de données dans Pandas

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 ».

Utilisation de .pivot

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

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

Cela produit un tableau aplati avec 'Pays', 'Année', et les valeurs « Indicateur » sous forme de colonnes.

Utilisation de .pivot_table

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

Cette approche aboutit à un tableau aplati dans lequel les valeurs en double sont moyennées et l'étiquette « Indicateur » est omise dans les colonnes.

Documentation pertinente

Pour plus de détails sur la refonte et les tableaux croisés dynamiques dans Pandas, reportez-vous aux ressources suivantes :

  • Guide d'utilisation du remodelage et des tableaux croisés dynamiques
  • Documentation Pandas : Remodelage et pivotement

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