Maison > développement back-end > Tutoriel Python > 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
Libérer: 2024-10-28 05:26:30
original
976 Les gens l'ont consulté

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

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

Remodeler en largeur :

<code class="python">df.pivot(index='patient', columns='obs', values='score')</code>
Copier après la connexion

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>
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal