Heim > Backend-Entwicklung > Python-Tutorial > Wie können Sie „Apply' und „Transform' für die Spaltensubtraktion und Mittelwertberechnung mit Groupby verwenden?

Wie können Sie „Apply' und „Transform' für die Spaltensubtraktion und Mittelwertberechnung mit Groupby verwenden?

DDD
Freigeben: 2024-11-21 09:00:11
Original
606 Leute haben es durchsucht

How Can You Use `apply` and `transform` for Column Subtraction and Mean Calculation with Groupby?

Subtrahieren zweier Spalten und Berechnen des Mittelwerts mithilfe von „Anwenden“ und „Transformieren“

Unterschiede zwischen „Anwenden“ und „Transformieren“

Bei Verwendung von Groupby auf einem DataFrame müssen „Anwenden“ und „Transformieren“ verwendet werden unterscheidbar Eigenschaften:

Eingabe:

  • Apply verwendet den gesamten DataFrame jeder Gruppe als Eingabe.
  • Transformation verarbeitet jede Spalte jeder Gruppe einzeln als Serie.

Ausgabe:

  • Anwenden kann einen Skalar, eine Serie, einen DataFrame (oder andere Datentypen) zurückgeben.
  • Für die Transformation ist eine Sequenz mit der gleichen Länge wie die Gruppe erforderlich.

Benutzerdefinierte Funktion für Subtraktion

Betrachten Sie die benutzerdefinierte Funktion subtract_two zum Subtrahieren von Spalte „a“ von „b“:

def subtract_two(x):
    return x['a'] - x['b']
Nach dem Login kopieren

Verwendung anwenden vs. transformieren

1. Anwenden:

Mit Anwenden können wir die Differenz von „a“ und „b“ für jede Gruppe berechnen und eine Reihe zurückgeben:

df.groupby('A').apply(subtract_two)
Nach dem Login kopieren

2. Transform:

Versuche, transform zu verwenden, führen zu einem KeyError, da transform eine Sequenz mit der gleichen Länge wie die Gruppe erwartet:

df.groupby('A').transform(subtract_two)
# KeyError: 'a'
Nach dem Login kopieren

Rückgabe eines Skalars von Transform

Um die Transformation zur Subtraktion zu verwenden, können wir einen Skalar aus unserer benutzerdefinierten Funktion zurückgeben und ihn auf alle Zeilen in anwenden lassen Gruppe:

def subtract_two_scalar(x):
    return (x['a'] - x['b']).mean()

df.groupby('A').transform(subtract_two_scalar)
Nach dem Login kopieren

Dies gibt eine Reihe mit der Mittelwertdifferenz für jede Gruppe zurück.

Das obige ist der detaillierte Inhalt vonWie können Sie „Apply' und „Transform' für die Spaltensubtraktion und Mittelwertberechnung mit 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage