Anwenden von Funktionen auf mehrere Spalten in Pandas-Datenrahmen
Das elementweise Anwenden von Funktionen auf mehrere Spalten in Pandas-Datenrahmen kann eine häufige Aufgabe sein. In diesem Beispiel zeigen wir, wie Sie eine Funktion auf zwei bestimmte Spalten „col_1“ und „col_2“ anwenden, um eine neue Spalte „col_3“ zu erstellen.
Definieren Sie zunächst die Funktion, die Sie anwenden möchten. In diesem Fall haben wir get_sublist, das zwei Argumente akzeptiert, sta und end. Diese Funktion soll eine Unterliste einer vordefinierten Liste mylist basierend auf den Eingabeargumenten zurückgeben.
Als nächstes erstellen Sie einen Pandas DataFrame (df), der die Spalten enthält, mit denen Sie arbeiten möchten. Stellen Sie sicher, dass die Spalten über geeignete Datentypen für Ihre Funktion verfügen.
Um die Funktion auf mehrere Spalten anzuwenden, verwenden Sie die Apply-Funktion von Pandas. Diese Funktion übernimmt eine Funktion und wendet sie auf jede Zeile des DataFrame an. Es erfordert die Angabe des Achsenarguments, das auf 1 gesetzt werden sollte, um die Funktion zeilenübergreifend anzuwenden.
Die Verwendung der Apply-Funktion mit Positionsargumenten kann jedoch zu Fehlern führen. Um dies zu umgehen, können wir eine anonyme Funktion (auch als Lambda-Funktion bekannt) als anzuwendendes Argument verwenden. Die Lambda-Funktion kann über deren Namen auf die Spaltenwerte der aktuellen Zeile zugreifen.
Hier ist der Code:
df['col_3'] = df.apply(lambda x: get_sublist(x.col_1, x.col_2), axis=1)
Dieser Code erstellt eine neue Spalte, „col_3“, mit dem Ergebnis Anwenden der Funktion get_sublist auf jede Zeile von „col_1“ und „col_2“. Die Lambda-Funktion stellt sicher, dass die richtigen Argumente an die Funktion get_sublist übergeben werden.
Als Ergebnis erhalten Sie einen DataFrame mit der gewünschten Ausgabe, wobei jede Zeile in „col_3“ eine Unterliste basierend auf den entsprechenden Werten enthält in 'col_1' und 'col_2'.
Das obige ist der detaillierte Inhalt vonWie wende ich eine Funktion auf mehrere Pandas DataFrame-Spalten an?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!