Restructurer les données tabulaires avec Pandas : convertir des colonnes en lignes
Gérer des données organisées en colonnes pour différentes dates ou catégories peut être fastidieux. Pandas fournit une solution puissante pour convertir ces colonnes en lignes facilement lisibles. Cet article aborde le défi spécifique de la transformation d'un CSV contenant des informations de localisation et plusieurs colonnes de date dans le format souhaité.
Énoncé du problème :
Considérons un ensemble de données contenant des informations organisées par emplacement, chacun avec plusieurs dates comme en-têtes de colonne. L'objectif est de restructurer les données dans un format où chaque ligne représente un emplacement, un nom, une date et sa valeur correspondante uniques.
Solution Pandas :
Propositions Pandas une méthode très efficace pour réaliser cette transformation en utilisant sa matière fondue fonction.
Code :
df.melt(id_vars=["location", "name"], var_name="Date", value_name="Value")
Explication :
Résultat :
L'application de la fonction de fusion à l'ensemble de données fourni donne le résultat souhaité :
location | name | Date | Value |
---|---|---|---|
A | "test" | Jan-2010 | 12 |
B | "foo" | Jan-2010 | 18 |
A | "test" | Feb-2010 | 20 |
B | "foo" | Feb-2010 | 20 |
A | "test" | March-2010 | 30 |
B | "foo" | March-2010 | 25 |
Ce nouvel arrangement facilite l'analyse des données par emplacement, nom et date.
Remarque :
Pour les anciennes versions de Pandas (0.20 ou antérieure), l'approche alternative suivante peut être utilisée :
df2 = pd.melt(df, id_vars=["location", "name"], var_name="Date", value_name="Value") df2 = df2.sort(["location", "name"])
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!