Maison >développement back-end >Tutoriel Python >Comment remodeler des données longues à larges dans Pandas à l'aide de deux variables ?

Comment remodeler des données longues à larges dans Pandas à l'aide de deux variables ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-29 18:05:02936parcourir

How to Reshape Long to Wide Data in Pandas Using Two Variables?

Pandas remodelant les formats longs et larges selon deux variables

La manipulation des données entre les formats longs et larges est une tâche courante dans l'analyse des données. Dans la bibliothèque Pandas de Python, les opérations de fusion et d'empilement/dépilage sont couramment utilisées à cette fin. Cependant, certains scénarios peuvent survenir dans lesquels une approche plus simple est souhaitée.

L'un de ces scénarios consiste à remodeler des données qui incluent deux variables (par exemple, une variable numérique comme les ventes et une variable catégorielle comme le produit) dans un format large. . L'utilisation des méthodes de fusion/empilage/dépilage seule peut ne pas fournir le résultat souhaité.

Dans cet exemple, nous avons des données « longues » avec les colonnes suivantes : Vendeur, Taille, produit et prix. Notre objectif est de remodeler ces données dans un format « large » avec des colonnes pour chaque produit unique, y compris son prix correspondant.

Salesman  Height   product      price
  Knut      6        bat          5
  Knut      6        ball         1
  Knut      6        wand         3
  Steve     5        pen          2

Pour y parvenir, nous pouvons tirer parti de la fonction pivot de Pandas, qui fournit un moyen de créer des tableaux croisés dynamiques. Nous spécifions la colonne d'index (Vendeur), les colonnes pivot (obs) et la colonne de valeurs (prix).

Voici le code Python pour remodeler les données :

<code class="python">wide_df = df.pivot(index='Salesman', columns='product', values='price')</code>

Cela produira le format "large" souhaité :

Salesman  Height    product_1  price_1  product_2 price_2 product_3 price_3  
  Knut      6        bat          5       ball      1        wand      3
  Steve     5        pen          2        NA       NA        NA       NA

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