Heim >Backend-Entwicklung >Python-Tutorial >Anwenden vs. Transformieren: Wann sollten Sie welche in Pandas Groupby verwenden?

Anwenden vs. Transformieren: Wann sollten Sie welche in Pandas Groupby verwenden?

Susan Sarandon
Susan SarandonOriginal
2024-11-11 10:20:03429Durchsuche

 Apply vs. Transform: When Should You Use Which in Pandas Groupby?

Sollten Sie Anwenden oder Transformieren verwenden?

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

Anwenden
FeatureTransformation
Feature Apply Transform
Input: Passes DataFrame containing all columns for each group Passes individual Series for each column in each group
Output: Can return scalars, Series, DataFrames, or other objects Must return a sequence (Series, array, or list) with the same length as the group
Behavior: Operates on the entire DataFrame within each group Operates on a single column at a time
Eingabe:

Ü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
  • Wann Apply verwendet werden sollte:
  • 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:

    • Wann Transform verwendet werden sollte:

    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:

    • Zusätzliche Hinweise:
    • Transformationsmethoden müssen eine Sequenz mit derselben Länge wie die Gruppe zurückgeben, sonst wird ein Fehler ausgelöst.
    Die Rückgabe eines einzelnen Skalars von einer Transformationsfunktion führt dazu, dass dieser Skalar auf jede Zeile in der Gruppe angewendet wird.Manchmal ist es hilfreich, das übergebene Objekt in Ihrer benutzerdefinierten Funktion auszudrucken oder anzuzeigen, um zu verstehen, womit Sie arbeiten.

    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!

  • 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