Um die Analyse von Daten in einer Tabelle zu vereinfachen, können wir die Daten mithilfe von Pandas in Python in eine computerfreundlichere Form umwandeln. Pandas.melt() ist eine der Funktionen dafür. Pandas.melt() hebt die Pivotierung eines DataFrames vom Breitformat in das Langformat auf.
Überprüfen Sie, ob in Java Null vorhanden ist
Pandas schmelzen() Die Funktion ist nützlich, um einen DataFrame in ein Format umzuwandeln, in dem eine oder mehrere Spalten Bezeichnervariablen sind, während alle anderen Spalten, die als gemessene Variablen betrachtet werden, nicht auf der Zeilenachse ausgerichtet sind, so dass nur zwei Nicht-Bezeichnerspalten, Variable und Wert, übrig bleiben.
Python Pandas.melt()-Funktionssyntax
Syntax: pandas.melt(frame, id_vars=Keine, value_vars=Keine,
var_name=Keine, value_name=’value’, col_level=Keine)
Parameter:
- rahmen : Datenrahmen
- id_vars[tuple, list, or ndarray, optional] : Spalte(n), die als Bezeichnervariablen verwendet werden sollen.
- value_vars[Tupel, Liste oder Ndarray, optional]: Spalte(n), deren Pivotierung aufgehoben werden soll. Wenn nicht angegeben, werden alle Spalten verwendet, die nicht als id_vars festgelegt sind.
- var_name[Skalar]: Name, der für die Spalte „Variable“ verwendet werden soll. Bei „Keine“ wird „frame.columns.name“ oder „Variable“ verwendet.
- Wertname[Skalar, Standardwert]: Name, der für die Spalte „Wert“ verwendet werden soll.
- col_level[int oder string, optional]: Wenn es sich bei den Spalten um einen MultiIndex handelt, verwenden Sie diese Ebene zum Verschmelzen.
Erstellen eines Beispiel-DataFrames
Hier haben wir einen Beispiel-DataFrame erstellt, den wir in diesem Artikel verwenden werden.
Python3
# importing pandas as pd> import> pandas as pd> # creating a dataframe> df>=> pd.DataFrame({>'Name'>: {>0>:>'John'>,>1>:>'Bob'>,>2>:>'Shiela'>},> >'Course'>: {>0>:>'Masters'>,>1>:>'Graduate'>,>2>:>'Graduate'>},> >'Age'>: {>0>:>27>,>1>:>23>,>2>:>21>}})> df> |
>
>

Melt() im Pandas-Beispiel machen
Nachfolgend finden Sie ein Beispiel dafür, wie wir die Pandas-Melt()-Funktion auf unterschiedliche Weise verwenden können Pandas :
Beispiel 1: Pandas-Melt()-Beispiel
In diesem Beispiel ist diepd.melt>Die Funktion wird verwendet, um die Spalte „Kurs“ zu entpivotieren und dabei „Name“ als Bezeichnervariable beizubehalten. Der resultierende DataFrame hat drei Spalten: „Name“, „Variable“ (enthält den Spaltennamen „Kurs“) und „Wert“ (enthält entsprechende Werte aus der Spalte „Kurs“).
Python3
# Name is id_vars and Course is value_vars> pd.melt(df, id_vars>=>[>'Name'>], value_vars>=>[>'Course'>])> |
>
>
Ausgabe:
Name variable value 0 John Course Masters 1 Bob Course Graduate 2 Shiela Course Graduate>
Beispiel 2: Verwendung von id_vars und value_vars zum Melt() eines Pandas DataFrame
In diesem Beispiel ist diepd.melt>Die Funktion wird verwendet, um die Spalten „Kurs“ und „Alter“ zu entpivotieren, während „Name“ als Bezeichnervariable verwendet wird.
Python3
Javascript-Schlaf
# multiple unpivot columns> pd.melt(df, id_vars>=>[>'Name'>], value_vars>=>[>'Course'>,>'Age'>])> |
>
>
Ausgabe:
Name variable value 0 John Course Masters 1 Bob Course Graduate 2 Shiela Course Graduate 3 John Age 27 4 Bob Age 23 5 Shiela Age 21>
Beispiel 3: Verwendung von var_name und value_name zum Melt() eines Pandas DataFrame
In diesem Beispiel ist diepd.melt>Die Funktion wird mit benutzerdefinierten Spaltennamen verwendet. Die Spalte „Kurs“ ist unpivotiert, behält jedoch „Name“ als Kennung bei. Der resultierende DataFrame verfügt über die Spalten „Name“, „ChangedVarname“ (für den geschmolzenen Spaltennamen, auf „Course“ gesetzt) und „ChangedValname“ (enthält entsprechende Werte aus der Spalte „Course“).
Python3
# Names of ‘variable’ and ‘value’ columns can be customized> pd.melt(df, id_vars>=>[>'Name'>], value_vars>=>[>'Course'>],> >var_name>=>'ChangedVarname'>, value_name>=>'ChangedValname'>)> |
>
>
Ausgabe:
Lokaldatum Java
Name ChangedVarname ChangedValname 0 John Course Masters 1 Bob Course Graduate 2 Shiela Course Graduate>
Beispiel 4: Verwendung vonignore_index mit der Funktion Pandas.melt()
In diesem Beispiel ist diepd.melt>Die Funktion wird angewendet, um die Spalten „Kurs“ und „Alter“ zu entpivotieren, während „Name“ als Bezeichnervariable verwendet wird. Der Originalindex wird aus diesem Grund ignoriertignore_index=True>Parameter.
Python3
# multiple unpivot columns with ignore_index> result>=> pd.melt(df, id_vars>=>[>'Name'>], value_vars>=>[>'Course'>,>'Age'>], ignore_index>=>True>)> print>(result)> |
>
>
Ausgabe:
Name variable value 0 John Course Masters 1 Bob Course Graduate 2 Shiela Course Graduate 3 John Age 27 4 Bob Age 23 5 Shiela Age 21>