Übersicht:
In Pandas bietet die Methode groupby() zwei Optionen zum Bearbeiten von Daten, die nach einer bestimmten Spalte gruppiert sind: apply() und transform(). Diese Methoden unterscheiden sich hinsichtlich ihrer Eingabe, Ausgabe und ihres Verhaltens.
Hauptunterschiede:
Feature | AnwendenTransformation | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Übergibt den DataFrame, der enthält alle Spalten für jede Gruppe | Übergibt einzelne Reihen für jede Spalte in jeder Gruppe | ||||||||||||
Ausgabe: | Kann Skalare, Serien, DataFrames oder andere Objekte zurückgeben | Muss eine Sequenz (Serie, Array oder Liste) mit derselben Länge wie die Gruppe zurückgeben | ||||||||||||
Verhalten: |
Wird auf dem gesamten DataFrame innerhalb jeder Gruppe ausgeführt | Wird jeweils auf einer einzelnen Spalte ausgeführt |
Wenn Sie eine benutzerdefinierte Funktion auf den gesamten DataFrame innerhalb jeder Gruppe anwenden müssen. Dies ermöglicht eine komplexe zeilenweise Verarbeitung und gibt einen DataFrame mit der gleichen Anzahl von Zeilen wie die Eingabe zurück.
df.groupby('State').apply(lambda x: pd.DataFrame({'Average': x.mean()}))
Beispiel:
Wenn Sie eine benutzerdefinierte Funktion spaltenweise innerhalb jeder Gruppe anwenden müssen.Dadurch können Sie bestimmte Spalten bearbeiten ohne Auswirkungen auf den gesamten DataFrame.
df.groupby('State').transform(lambda x: x - x.mean())
Beispiel:
Das obige ist der detaillierte Inhalt vonAnwenden vs. Transformieren: Wann sollten Sie welche in Pandas Groupby verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!