Pour remodeler un ensemble de données de colonnes en lignes, où chaque colonne représente une date différente et la sortie souhaitée nécessite une colonne "Date" et la colonne "Valeur", utilisez le fondu Pandas fonction.
df.melt(id_vars=["location", "name"], var_name="Date", value_name="Value")
Exemple :
import pandas as pd df = pd.DataFrame( { "location": ["A", "B"], "name": ["test", "foo"], "Jan-2010": [12, 18], "Feb-2010": [20, 20], "March-2010": [30, 25], } ) result = df.melt(id_vars=["location", "name"], var_name="Date", value_name="Value") print(result)
Sortie :
location name Date Value 0 A test Jan-2010 12 1 B foo Jan-2010 18 2 A test Feb-2010 20 3 B foo Feb-2010 20 4 A test March-2010 30 5 B foo March-2010 25
df2 = pd.melt(df, id_vars=["location", "name"], var_name="Date", value_name="Value") df2 = df2.sort(["location", "name"]) # Optionally, reset the index # df2 = df2.reset_index(drop=True)
Ce code triera la sortie par « emplacement » et « nom » et fournira une sortie propre sans index.
Remarque : Dans les versions plus récentes de Pandas, utilisez sort_values au lieu de sort.
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!