Maison > développement back-end > Tutoriel Python > Comment transformer les colonnes Pandas DataFrame en lignes avec une colonne « Date » et « Valeur » ?

Comment transformer les colonnes Pandas DataFrame en lignes avec une colonne « Date » et « Valeur » ?

Patricia Arquette
Libérer: 2024-12-30 09:07:11
original
603 Les gens l'ont consulté

How to Transform Pandas DataFrame Columns into Rows with a

Convertir des colonnes en lignes avec Pandas

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.

Solution :

df.melt(id_vars=["location", "name"],
        var_name="Date",
        value_name="Value")
Copier après la connexion

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

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

Pour les anciennes versions de Pandas (<0,20) :

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

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!

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