Erstellen mehrerer neuer Spalten mit der Pandas-Funktion
In Pandas ist es möglich, eine einzelne Funktion auf eine Spalte anzuwenden und basierend darauf mehrere neue Spalten zu erstellen auf den Ausgabewerten.
Stellen Sie sich das folgende Szenario vor:
Sie haben eine Funktion, extract_text_features, die eine Textspalte akzeptiert und 6 Ausgabespalten zurückgibt. Während die Funktion selbst funktioniert, stellt das Zuweisen der Ausgabe zu bestimmten Spalten eine Herausforderung dar.
Lösung mit Zip:
Ein effektiver Ansatz besteht darin, die Zip-Funktion zum Zuweisen zu verwenden Werte in mehrere Spalten ausgeben:
<code class="python">def powers(x): return x, x**2, x**3, x**4, x**5, x**6 df = pd.DataFrame([[i] for i in range(10)], columns=['num']) df['p1'], df['p2'], df['p3'], df['p4'], df['p5'], df['p6'] = zip(*df['num'].map(powers))</code>
Hier wendet die Funktion „map()“ Potenzen auf jede Zeile der Spalte „num“ an und zip entpackt die Ausgabe in einzelne Spalten.
Dies Die Methode generiert effizient mehrere neue Spalten basierend auf den Ausgabewerten der Funktion. Es ist auch mit älteren Versionen von Pandas kompatibel, im Gegensatz zu einigen anderen Lösungen, die auf neueren Funktionen wie df.assign() basieren.
Das obige ist der detaillierte Inhalt vonWie erstelle ich in Pandas mehrere neue Spalten aus einer einzelnen Funktionsausgabe?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!