Heim >Backend-Entwicklung >Python-Tutorial >Wie transformiere ich Pandas DataFrame-Spalten in Zeilen mit einer Spalte „Datum' und „Wert'?

Wie transformiere ich Pandas DataFrame-Spalten in Zeilen mit einer Spalte „Datum' und „Wert'?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-30 09:07:11619Durchsuche

How to Transform Pandas DataFrame Columns into Rows with a

Spalten in Zeilen mit Pandas konvertieren

Um einen Datensatz von Spalten in Zeilen umzuwandeln, wobei jede Spalte ein anderes Datum darstellt und die gewünschte Ausgabe eine „Datum“-Spalte erfordert und der Spalte „Wert“ verwenden Sie die Pandas-Schmelze Funktion.

Lösung:

df.melt(id_vars=["location", "name"],
        var_name="Date",
        value_name="Value")

Beispiel:

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)

Ausgabe:

  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

Für ältere Versionen von 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)

Dieser Code sortiert die Ausgabe nach „Standort“ und „Name“ und liefert eine saubere Ausgabe ohne Index.

Hinweis:Verwenden Sie in neueren Versionen von Pandas sort_values ​​anstelle von sort.

Das obige ist der detaillierte Inhalt vonWie transformiere ich Pandas DataFrame-Spalten in Zeilen mit einer Spalte „Datum' und „Wert'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn