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')
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']
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')
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')
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})
Ä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')
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!