Maison  >  Article  >  développement back-end  >  Comment remodeler les données du format long au format large dans Pandas : un guide étape par étape

Comment remodeler les données du format long au format large dans Pandas : un guide étape par étape

DDD
DDDoriginal
2024-10-28 05:26:30841parcourir

How to Reshape Data from Long to Wide Format in Pandas: A Step-by-Step Guide

Remodeler les données de long à large chez Pandas : un guide complet

De nombreux ensembles de données sont initialement stockés au format long, où chaque ligne représente un une seule observation et plusieurs variables sont répertoriées sous forme de colonnes. Cependant, il devient souvent nécessaire de remodeler les données dans un format large, où chaque ligne correspond à une combinaison unique de valeurs de deux variables ou plus.

Problème : Transformer des données longues en données larges Le formatage peut être une tâche fastidieuse dans Pandas, en particulier lors de l'utilisation des méthodes de fusion/empilement/dépilage. Par exemple, considérons le cadre de données au format long suivant :

<code class="python">import pandas as pd

data = pd.DataFrame({
    'Salesman': ['Knut', 'Knut', 'Knut', 'Steve'],
    'Height': [6, 6, 6, 5],
    'product': ['bat', 'ball', 'wand', 'pen'],
    'price': [5, 1, 3, 2]
})</code>

Remodelage en grand format :

Pour remodeler les données en grand format, nous pouvons utiliser l'outil de Chris Albon. solution :

Créer une trame de données longue :

<code class="python">raw_data = {
    'patient': [1, 1, 1, 2, 2],
    'obs': [1, 2, 3, 1, 2],
    'treatment': [0, 1, 0, 1, 0],
    'score': [6252, 24243, 2345, 2342, 23525]
}

df = pd.DataFrame(raw_data, columns=['patient', 'obs', 'treatment', 'score'])</code>

Remodeler en largeur :

<code class="python">df.pivot(index='patient', columns='obs', values='score')</code>

Cela générera le dataframe grand format souhaité :

<code class="python">obs           1        2       3
patient
1        6252.0  24243.0  2345.0
2        2342.0  23525.0     NaN</code>

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