Heim  >  Artikel  >  Backend-Entwicklung  >  Wie erstelle ich in Pandas mehrere neue Spalten aus einer einzelnen Funktionsausgabe?

Wie erstelle ich in Pandas mehrere neue Spalten aus einer einzelnen Funktionsausgabe?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-28 15:09:02300Durchsuche

How to Create Multiple New Columns from a Single Function Output in Pandas?

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!

Stellungnahme:
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