Maison  >  Article  >  développement back-end  >  Comment transformer efficacement des données larges en un format long dans Pandas ?

Comment transformer efficacement des données larges en un format long dans Pandas ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-12 02:41:02288parcourir

How do you efficiently transform wide data to a long format in Pandas?

Remodeler les données larges en données longues chez Pandas

De nombreuses tâches de manipulation de données nécessitent que les ensembles de données soient dans un format spécifique, souvent appelé long ou données étendues. Chez les pandas, le remodelage de large à long peut être réalisé grâce aux fonctions pd.melt ou DataFrame.melt.

Données originales :

Considérez le cadre de données large suivant, où les dates sont l'index et les colonnes représentent différentes variables :

         AA  BB  CC
date
05/03     1   2   3
06/03     4   5   6
07/03     7   8   9
08/03     5   7   1

Remodeler pour Long :

Pour remodeler ce dataframe dans un format long, où chaque ligne représente une seule combinaison de date et de variable, nous pouvons utiliser :

df = df.reset_index().melt(id_vars='date')

Cela transforme le dataframe en :

     date variable  value
0   05/03       AA      1
1   06/03       AA      4
2   07/03       AA      7
3   08/03       AA      5
4   05/03       BB      2
5   06/03       BB      5
6   07/03       BB      8
7   08/03       BB      7
8   05/03       CC      3
9   06/03       CC      6
10  07/03       CC      9
11  08/03       CC      1

Alternativement, l'étape reset_index peut être omise en spécifiant ignore_index=False dans le fichier melt function :

dfm = df.melt(ignore_index=False)

Cela garantit que l'index de ligne est préservé dans la trame de données transformée.

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