In Pandas können sowohl „Anwenden“ als auch „Transformieren“ verwendet werden, um Operationen an gruppierten Daten durchzuführen. Es gibt jedoch einige wesentliche Unterschiede zwischen den beiden Methoden.
Eingabetyp
Ausgabetyp
Transformation
Beispiel
Betrachten Sie den folgenden DataFrame:
df = pd.DataFrame({'A': ['foo', 'bar', 'foo', 'bar', 'foo', 'bar', 'foo', 'foo'], 'B': ['one', 'one', 'two', 'three', 'two', 'two', 'one', 'three'], 'C': randn(8), 'D': randn(8)})
So subtrahieren Sie Spalte C von Spalte D innerhalb jeder Gruppe mit „Anwenden“:
df.groupby('A').apply(lambda x: (x['C'] - x['D']))
So subtrahieren Sie Spalte C von Spalte D innerhalb jeder Gruppe mit „Transformieren“:
df.groupby('A').transform(lambda x: (x['C'] - x['D']).mean())
Beachten Sie, dass die Die an die Transformation übergebene Lambda-Funktion gibt den Mittelwert der Differenz zwischen C und D zurück, was zu einer transformierten Spalte mit der gleichen Form wie der ursprüngliche DataFrame führt.
Wann sollte „Anwenden vs. Transformieren“ verwendet werden:
Das obige ist der detaillierte Inhalt vonWann sollte Pandas Apply vs. Transform für gruppierte Datenoperationen verwendet werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!