Heim > Backend-Entwicklung > Python-Tutorial > Wie schmelze und manipuliere ich Pandas-DataFrames mit der Funktion „melt()'?

Wie schmelze und manipuliere ich Pandas-DataFrames mit der Funktion „melt()'?

Susan Sarandon
Freigeben: 2024-12-17 07:14:24
Original
554 Leute haben es durchsucht

How Do I Melt and Manipulate Pandas DataFrames Using the `melt()` Function?

Wie schmelze ich einen Pandas-Datenrahmen?

Beim Schmelzen eines Pandas-Datenrahmens muss er von einem breiten Format mit mehreren Spalten in ein langes Format konvertiert werden mit zwei Hauptspalten: „Variable“ und „Wert“. Dies kann mit der Funktion „melt()“ erreicht werden.

Problem 1: Einen Datenrahmen schmelzen, um Spalten in Zeilen zu transponieren

df = df.melt(id_vars=['Name', 'Age'], var_name='Subject', value_name='Grades')
Nach dem Login kopieren

Dadurch wird der ursprüngliche Datenrahmen in konvertiert das gewünschte Format mit Spalten für „Name“, „Alter“, „Fach“ und „Noten“. Die Spalte „Betreff“ enthält die ursprünglichen Spaltenüberschriften, während „Noten“ die entsprechenden Werte enthält.

Problem 2: Zusammengeführte Daten filtern, um bestimmte Spalten einzuschließen

df = df.melt(id_vars=['Name', 'Age'], var_name='Subject', value_name='Grades')
filtered_df = df[df['Subject'] == 'Math']
Nach dem Login kopieren

Durch Filtern des geschmolzenen Datenrahmens können Sie unerwünschte Spalten entfernen. In diesem Fall werden nur die Zeilen beibehalten, bei denen „Thema“ auf „Mathematik“ eingestellt ist.

Problem 3: Zusammengeführte Daten gruppieren und nach Punktzahlen sortieren

df = df.melt(id_vars=['Name', 'Age'], var_name='Subject', value_name='Grades')
sorted_df = df.groupby('value').agg({'Name': ', '.join, 'Subject': ', '.join})
sorted_df = sorted_df.sort_values('value')
Nach dem Login kopieren

Dadurch werden Zeilen mit doppelten Werten in der Spalte „Wert“ zusammengeführt, wodurch die Spalten „Name“ und „Betreff“ mit durch Kommas getrennten Werten zusammengefasst werden. Das Ergebnis wird dann sortiert, um die Noten aufsteigend zu ordnen.

Aufgabe 4: Auflösen eines geschmolzenen Datenrahmens

unmelted_df = df.pivot(index=['Name', 'Age'], columns='Subject', values='Grades')
Nach dem Login kopieren

Um den geschmolzenen Datenrahmen wieder in sein ursprüngliches Format zu konvertieren, Sie können die Funktion „pivot()“ verwenden. Dadurch werden die Daten nach den Spalten „Name“ und „Alter“ gruppiert und die Spalte „Betreff“ gedreht, um die ursprüngliche Datenrahmenform zu erstellen.

Problem 5: Zusammengeführte Daten gruppieren und Themen und Noten verketten

df = df.melt(id_vars=['Name', 'Age'], var_name='Subject', value_name='Grades')
grouped_df = df.groupby('Name').agg({'Subject': ', '.join, 'Grades': ', '.join})
Nach dem Login kopieren

Ähnlich wie bei Problem 3 gruppiert dies den geschmolzenen Datenrahmen nach „Name“ und verkettet den „Betreff“ und Spalten „Noten“ mit Kommas. Das Ergebnis ist ein Datenrahmen mit einer Zeile pro Person, in der die Fächer und Noten aufgeführt sind.

Problem 6: Zusammenführen eines Datenrahmens mit allen Spalten als Werten

df = df.melt(value_name='Value', var_name='Column')
Nach dem Login kopieren

An Schmelzen Sie den Datenrahmen mit allen Spalten als Werten und lassen Sie das Argument id_vars aus der Funktion „melt()“ weg. Dadurch wird ein Datenrahmen erstellt, in dem die Spalte „Spalte“ die ursprünglichen Spaltenüberschriften auflistet und die Spalte „Wert“ die entsprechenden Werte enthält.

Das obige ist der detaillierte Inhalt vonWie schmelze und manipuliere ich Pandas-DataFrames mit der Funktion „melt()'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage