Maison > développement back-end > Tutoriel Python > Comment la fonction `melt()` de Pandas peut-elle restructurer les données tabulaires des colonnes en lignes ?

Comment la fonction `melt()` de Pandas peut-elle restructurer les données tabulaires des colonnes en lignes ?

Susan Sarandon
Libérer: 2024-12-30 18:49:16
original
836 Les gens l'ont consulté

How Can Pandas' `melt()` Function Restructure Tabular Data from Columns to Rows?

Restructurer les données tabulaires avec Pandas : convertir des colonnes en lignes

Gérer des données organisées en colonnes pour différentes dates ou catégories peut être fastidieux. Pandas fournit une solution puissante pour convertir ces colonnes en lignes facilement lisibles. Cet article aborde le défi spécifique de la transformation d'un CSV contenant des informations de localisation et plusieurs colonnes de date dans le format souhaité.

Énoncé du problème :

Considérons un ensemble de données contenant des informations organisées par emplacement, chacun avec plusieurs dates comme en-têtes de colonne. L'objectif est de restructurer les données dans un format où chaque ligne représente un emplacement, un nom, une date et sa valeur correspondante uniques.

Solution Pandas :

Propositions Pandas une méthode très efficace pour réaliser cette transformation en utilisant sa matière fondue fonction.

Code :

df.melt(id_vars=["location", "name"],
        var_name="Date",
        value_name="Value")
Copier après la connexion

Explication :

  • id_vars : Spécifie les colonnes qui restent inchangées comme rows.
  • var_name : attribue un nouveau nom de colonne pour les dates fondues.
  • value_name : fournit un nom pour la colonne contenant l'original valeurs.

Résultat :

L'application de la fonction de fusion à l'ensemble de données fourni donne le résultat souhaité :

location name Date Value
A "test" Jan-2010 12
B "foo" Jan-2010 18
A "test" Feb-2010 20
B "foo" Feb-2010 20
A "test" March-2010 30
B "foo" March-2010 25

Ce nouvel arrangement facilite l'analyse des données par emplacement, nom et date.

Remarque :

Pour les anciennes versions de Pandas (0.20 ou antérieure), l'approche alternative suivante peut être utilisée :

df2 = pd.melt(df,
                  id_vars=["location", "name"], 
                  var_name="Date",
                  value_name="Value")
df2 = df2.sort(["location", "name"])
Copier après la connexion

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