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

Susan Sarandon
Freigeben: 2024-11-11 10:20:03
Original
358 Leute haben es durchsucht

 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()}))
    Nach dem Login kopieren

    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())
    Nach dem Login kopieren

    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!

  • Quelle:php.cn
    Erklärung dieser Website
    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
    Neueste Artikel des Autors
    Beliebte Tutorials
    Mehr>
    Neueste Downloads
    Mehr>
    Web-Effekte
    Quellcode der Website
    Website-Materialien
    Frontend-Vorlage