HOT, um die Funktion apply () auf gruppierten Daten zu verwenden
Wir können die Funktion apply () für verschiedene Funktionen zu den Zeilen und Spalten des DataFrame verwenden. Die an die Funktion gelieferten Objekte sind Objekte von Serien, deren Indexwert entweder der Index der DataFrame -Zeilen (AXIS = 0) oder die Anzahl der Spalten im DataFrame (AXIS = 1) ist. Die Verwendung dieser Methode gibt den DataFrame oder die Serie entlang der angegebenen Achse zurück. Wenn wir eine bestimmte Spalte ändern möchten, ohne andere Spalten zu ändern, können wir diese Funktion verwenden. Der DAtaframe.anwenden() Die Syntax der Methode ist unten angegeben.
Syntax: DataFrame.anwenden (func, axis = 0, raw = false, result_type = keine, args = (), ** kwds)
Wo:
Func: Repräsentiert die Funktion, die auf jede Zeile oder Spalte angewendet wird
Achse: Gibt die Richtung an, in der die Methode angewendet wird: 0 oder „Index“ die Funktion auf alle Spalten anwendet, während 1 oder „Spalten“ die Funktion auf alle Zeilen anwendet.
result_type: Bietet die Optionen "reduzieren", "erweitern", "übertragen" und "keine". Das 'None' ist der Standardwert.
Diese funktionieren nur mit Achse = 1 (Spalten):
expandieren: Spalten werden aus den Ergebnissen erstellt, die Listen ähneln.
reduzieren: Im Gegensatz zu „Erweiterung“ gibt dies eine Serie zurück, wenn sie eher machbar ist, anstatt Ergebnisse zu erweitern, die Listen ähneln.
übertragen: Die ursprünglichen Spalten und der Index werden aufbewahrt und übertragen die Ergebnisse in seiner ursprünglichen Form an den Datenrahmen.
Schauen wir uns auch die Syntax der Gruppe "GroupBy () an, um die Daten zu gruppieren:
Syntax: DataFrame.GroupBy (by = None, Axis = 0, Level = None, as_index = true, sort = true, Group_keys = true, squeeze = nodefault.no_default, beobachtet = false, dropna = true)
von: Funktion, Liste der Beschriftungen, Zuordnung oder Beschriftung. Für den Groupby wird es verwendet, um die Gruppen zu erstellen. Die Gruppen werden aus den DICT -Werten oder -serien ermittelt, wenn eine davon gegeben ist. Es verwendet die Werte, um die Gruppen zu generieren, wenn ein NDarray oder eine Liste mit gleicher Länge wie der ausgewählten Achse angegeben ist. Um nach den DataFrame -Spalten in sich selbst zu gruppieren. Denken Sie daran, dass jedes Tupel als Schlüssel angesehen wird (Single).
Achse: 'index' oder 0, 'Spalten' oder 1, 0 standardmäßig 0. Spalten auf Spalten oder Zeilen geteilt.
eben: Name der Ebene, Abfolge solcher oder int. Standard Keine. Die Gruppendaten basieren auf einem bestimmten Level oder einer bestimmten Ebenen, wenn der Achsenindex ein MultiIndex ist.
As_index: bool, es ist standardmäßig wahr. Geben Sie ein Objekt mit Gruppennamen als Index für die aggregierte Ausgabe zurück. Nur für die DataFrame -Eingabe anwendbar. Tatsächlich ist die gruppierte Ausgabe von „SQL-Stil“ „als Index = False“.
Sortieren: bool, es ist standardmäßig wahr. Gruppenschlüssel in Ordnung. Durch das Ausschalten wird sich Ihre Leistung verbessern.
Group_Keys: bool, es ist standardmäßig wahr. Fügen Sie dem Index Gruppenschlüssel hinzu, wenn Sie anrufen, um die Teile zu identifizieren.
quetschen: bool, es ist standardmäßig falsch falsch. Wenn möglich, reduzieren Sie die Dimensionalität des Rückgabetyps. Wenn nicht, gibt es einen konsistenten Typ zurück.
beobachtet: bool, es ist standardmäßig falsch falsch. Nur wenn ein oder mehrere der Gruppierer kategorisch sind, gilt dies. Zeigen Sie den Ausgangswert für kategoriale Gruppierer nur an, wenn Sie true.
Dropna: bool, es ist standardmäßig wahr. Wenn True und die Gruppenschlüssel NA -Werte haben, werden die NA -Werte und die entsprechende Zeile und Spalte entfernt.
Lassen Sie uns einige Beispiele demonstrieren, mit denen Sie lernen können.
Beispiel Nr. 1: Bestimmen Sie die Häufigkeit von Werten in einer Datenrahmenspalte
Um die Häufigkeit von Werten in einer Datenfrequenzspalte zu finden, müssen wir zuerst einen Datenrahmen benötigen. Der Datenrahmen wird mit der PD erstellt.DataFrame () -Funktion.
Wir haben einen Datenrahmen erstellt. Finden wir die Häufigkeit verschiedener Datenwerte in der Spalte "Gruppe". Bevor wir die Häufigkeit finden. Dann definieren wir eine Funktion innerhalb der Funktion an Apply (), um die Frequenz zu finden.
Die Daten in der Spalte "Gruppe" sind jetzt gruppiert. Um die Frequenz zu finden, haben wir integrierte Funktionen und Attribute von Pandas verwendet: count () und form []. Innerhalb der Anwendenfunktion die Lambda Funktion wird verwendet, um die angegebene Funktion oder den angegebenen Ausdruck auszuführen. Die Funktion hat bestimmt, dass die Frequenz für Kategorie X 0 beträgt.57 und für y ist 0.42. Gruppe X erscheint in 57% der Zeilen; Während die Gruppe Y in 42% erscheint.
Beispiel Nr. 2: Bestimmen Sie den Maximalwert in einer Datenrahmenspalte
Wir können zusammen mit der Funktion apply () die maximale Werte für jede gruppierte Daten bestimmen. Auch hier erstellen wir einen Datenrahmen, damit wir den Höchstwert finden, nachdem wir die Daten der Spalte gruppiert haben.
Erstens werden wir die Daten des Spalten -' -Teams gruppieren, um Kategorien zu erstellen. Anschließend verwenden wir die Funktion apply () in der Aggregationsfunktion 'max', um den Maximalwert in Spaltespunkten für jede Kategorie zu finden.
Das Kolonteam ist in drei Kategorien eingeteilt. Anschließend hat die Funktion apply () den maximalen Wert des Spaltenpunkts 'Punkt' für jede Kategorie bestimmt. Die Kategorie 'Ace' hat den maximalen Wert von 14; Während 15 und 17 die maximalen Werte für Gruppen Beta bzw. Champ sind.
Beispiel 3: Durchführen benutzerdefinierter Berechnungen mithilfe von Apply () -Funktion nach Gruppierung der Daten
Anstatt nur eingebaute Aggregationsfunktionen von Pandas zu verwenden, können wir auch benutzerdefinierte Funktionen definieren oder einen Ausdruck innerhalb der erstellen anwenden() Funktion zur Durchführung von benutzerdefinierten Berechnungen. Lassen Sie uns einen Datenrahmen erstellen, aus dem wir die Daten einer bestimmten Spalte gruppieren werden. Dann werden wir Berechnungen darüber durchführen.
Berechnen wir die durchschnittliche Differenz zwischen den Werten für jede Gruppe.
Die Daten in der Spalte "Student" sind in drei Kategorien "Billy", "Jim" und "Mandy" unterteilt. Die durchschnittliche Differenz zwischen der Spalte 'Total_marks' und 'erhaltene_marks' wird durch Subtrahieren der Werte der Spalte 'erhaltene _marks' aus der Spalte 'Total_mark' und der Anwendung der Funktion von Mean () auf sie erhalten. Der mittlere Differenzwert für die Kategorie 'Billy' beträgt 3.66. Während der mittlere Unterschied für gruppierte Werte Jim und Mandy 3 bzw. 4 beträgt.
Abschluss
In diesem Tutorial haben wir besprochen, wie man GroupBy () und anwenden () zusammen in Pandas verwendet. Wir haben die Syntax beider Funktionen zusammen mit ihren Parametern gesehen, um ihre Funktionalität zu verstehen. In diesem Tutorial haben wir einige Beispiele implementiert, um Ihnen beizubringen, wie Sie die Funktionen GroupBy () und anwenden () mithilfe der integrierten Funktionen oder durch Definieren von individuellen Funktionen in Pandas verwenden können.