Pandas Long-to-Breit-Umformung mit mehreren Variablen
Das Konvertieren von Daten vom Lang- ins Breitformat in Pandas kann eine Herausforderung sein, insbesondere wenn mehrere Variablen vorhanden sind beteiligt. Diese Frage untersucht eine Methode zum Umformen von Daten mithilfe der Pivot-Funktion.
Die bereitgestellten Originaldaten sind:
Salesman Height product price Knut 6 bat 5 Knut 6 ball 1 Knut 6 wand 3 Steve 5 pen 2
Das gewünschte Breitformat ist:
Salesman Height product_1 price_1 product_2 price_2 product_3 price_3 Knut 6 bat 5 ball 1 wand 3 Steve 5 pen 2 NA NA NA NA
Eins Der von Chris Albon vorgeschlagene Ansatz beinhaltet die Verwendung der Pivot-Funktion wie folgt:
df.pivot(index='Salesman', columns='product', values='price')
Dieser Ansatz erstellt einen mehrstufigen Index, wobei die Spalten „Verkäufer“ und „Produkt“ jeweils die Zeilen- und Spaltenindizes sind. Die Preisspalte wird zu den Werten.
Der resultierende Datenrahmen sieht wie folgt aus:
product bat ball wand Salesman Knut 5 1 3 Steve 2 NaN NaN
Um das gewünschte Format zu erhalten, sind zusätzliche Schritte erforderlich, um die Spalten zu stapeln und die Produkt- und Preiswerte zu extrahieren separate Spalten. Dies kann mit den Funktionen stack und reset_index wie folgt erreicht werden:
df.pivot(index='Salesman', columns='product', values='price') \ .stack().reset_index() \ .rename(columns={'level_1':'product', 0:'price'})
Das Endergebnis ist das gewünschte Breitformat.
Das obige ist der detaillierte Inhalt vonWie forme ich Pandas-Daten mit mehreren Variablen mithilfe der Pivot-Funktion vom Lang- ins Breitformat um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!