Heim >Backend-Entwicklung >Python-Tutorial >Wie kann die Schmelzfunktion von Pandas breite Datenrahmen in ein gewünschtes langes Format mit zusätzlichen Spalten umformen?

Wie kann die Schmelzfunktion von Pandas breite Datenrahmen in ein gewünschtes langes Format mit zusätzlichen Spalten umformen?

Barbara Streisand
Barbara StreisandOriginal
2024-12-08 08:40:12930Durchsuche

How Can Pandas' Melt Function Reshape Wide Dataframes into a Desired Long Format with Additional Columns?

Pandas-Schmelzfunktion zur Datentransformation

Bei komplexen Datenrestrukturierungsaufgaben in Pandas erweist sich die Schmelzfunktion als leistungsstarkes Werkzeug. Es wandelt Datenrahmen nahtlos von breiten Formaten mit mehreren Spalten in lange Formate mit weniger Spalten um.

In einem praktischen Szenario stellen Sie sich einen Datenrahmen vor, der umgeformt werden muss:

df = pd.DataFrame([[2, 4, 7, 8, 1, 3, 2013], [9, 2, 4, 5, 5, 6, 2014]],
               columns=['Amy', 'Bob', 'Carl', 'Chris', 'Ben', 'Other', 'Year'])
   Amy  Bob  Carl  Chris  Ben  Other  Year
0    2    4     7      8    1      3  2013
1    9    2     4      5    5      6  2014

Um dies umzuwandeln Um den Datenrahmen in ein strukturierteres Format zu konvertieren, können Sie die Schmelzfunktion verwenden:

m = pd.melt(df, id_vars=['Year'], var_name='Name')

Dieser Vorgang generiert Folgendes dataframe:

    Year   Name  value
0   2013    Amy      2
1   2014    Amy      9
2   2013    Bob      4
3   2014    Bob      2
4   2013   Carl      7
...

Die gewünschte Ausgabe enthält jedoch eine zusätzliche Spalte mit dem Namen „Gruppe“. Um dies zu erreichen, formen Sie das Wörterbuch um:

d2 = {}
for k, v in d.items():
    for item in v:
        d2[item] = k

Der Datenrahmen kann jetzt mit der Spalte „Gruppe“ aktualisiert werden:

m['Group'] = m['Name'].map(d2)

Verschieben Sie abschließend „Andere“ aus der Spalte „Name“. Spalte zur Spalte „Gruppe“:

mask = m['Name'] == 'Other'
m.loc[mask, 'Name'] = ''
m.loc[mask, 'Group'] = 'Other'

Der resultierende Datenrahmen stimmt perfekt mit dem Gewünschten überein Ausgabe:

    Year   Name  value  Group
0   2013    Amy      2      A
1   2014    Amy      9      A
2   2013    Bob      4      B
3   2014    Bob      2      B
4   2013   Carl      7      C
...

Auf diese Weise stellt die Pandas-Melt-Funktion Datenwissenschaftlern einen vielseitigen und effizienten Mechanismus zum Umformen von Datenrahmen zur Verfügung, sodass sie Daten für verschiedene Analyse- und Visualisierungszwecke mühelos transformieren und neu organisieren können.

Das obige ist der detaillierte Inhalt vonWie kann die Schmelzfunktion von Pandas breite Datenrahmen in ein gewünschtes langes Format mit zusätzlichen Spalten umformen?. 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