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!