Die GroupBy -Technik ist wichtig, da es Daten sowohl in Bezug auf die Leistung als auch die Codegröße zusammenfasst. Der Begriff „GroupBy“ beschreibt typischerweise ein Verfahren mit den folgenden Schritten:
Im Aggregationsprozess wird eine zusammenfassende Statistik für jede Gruppe berechnet. Für jede Gruppe gibt die Aggregatmethode einen aggregierten Wert zurück (Einzelwert). Wir können mehrere aggregierende Vorgänge für gruppierte Daten ausführen.
Warum bieten Pandas eine Vielzahl von Datenaggregationsmethoden an?
Pandas bieten eine breite Palette von Funktionen und Funktionen, die bei der Analyse und Aggregation von Daten helfen. Die Verwendung der Methoden Pivot (), GroupBy () und Pivot_Table () bietet beispielsweise eine andere Perspektive, wie Daten aggregiert werden würden. Sie liefern praktische Ansätze für die Ausführung verschiedener Aufgaben, anstatt einfach neu verpackt zu werden.
Wie man die benutzt .Agg () Funktion in Pandas
Ein einfacher Durchschnitt oder eine Summe von Werten ist die Aggregationsfunktion, die am häufigsten verwendet wird. Sie können die Spalte oder mehrere Spalten eines DataFrame verwenden, um eine Aggregatfunktion aufzurufen. Sie werden viele Möglichkeiten sehen, Daten mithilfe der Pandas GroupBy -Methode zu aggregieren. Um zu demonstrieren, wie viel einfacher das Verfahren ist, schauen wir uns einige Beispiele an, die unten angegeben sind. Grundlegende Mathematikoperationen wie Summe, Minimum, Maximum, mittlere absolute Abweichung, Standardabweichung, Mittelwert, Median, Varianz und Produkt gehören zu den am häufigsten verwendeten integrierten Aggregationsfunktionen. Um Daten zusammenzufassen, können wir GroupBy und die Agg () -Funktion kombinieren.
Beispiel Nr. 01: Bestimmen Sie die Summe der Spalten, indem Sie die Daten mit GroupBy gruppieren.Agg () Funktion
Wir werden zuerst einen Datenrahmen mithilfe von PD erstellen.DataFrame () -Funktion, damit wir die Daten aus der Spalte oder Spalten des DataFrame gruppieren und dann ihren Mittelwert bestimmen können. Wir müssen die Module von Pandas und der Numpy -Bibliothek importieren, bevor wir den Datenrahmen erstellen.
Wie Sie sehen können, haben wir das Pandas -Wörterbuch verwendet, um unseren Datenrahmen zu erstellen. Unser DF -DataFrame verfügt über vier Spalten: "Patient" "Gruppe", "Alter" und "Blutflaschen". Die Datenwerte ('Ali', 'John', 'Mike', 'Mike', 'John', 'Ali', 'Ali', 'Mike') sind durch Spalte „Patient“ enthalten, während die Datenwerte ('a ',' A ',' b ',' c ',' a ',' c ',' c ',' b '), (21, 22, 24, 21, 20, 24, 22, 22) und (( 2, 3, 1, 1, 2, 3, 2, 1) sind in den Spalten "Gruppe", "Alter" und "Blood_Bottles" enthalten. Nehmen wir an, wir müssen die Wertesumme in der Spalte 'Blood_bottles' bestimmen, indem wir die Werte in der Spalte "Gruppe" gruppieren.
Für Gruppendaten 'a' beträgt die Summe der Werte von 'blood_bottles' 7. Für Gruppenwerte 'B' und 'C' beträgt die Summe der Werte von 'Blood_bottles' 2 bzw. 6. Wir können auch mehrere Spalten gruppieren, um die Summe für jede Gruppe zu bestimmen.
Wie beobachtet werden kann, haben wir eine Liste von Spaltenbezeichnungen bestanden, ich.e., ['Patient', 'Gruppen'] Innerhalb der Gruppe GroupBy (), um die Gruppen von Kategorien in jeder angegebenen Spalte zu erstellen. Für jede Gruppe bestimmter Spalten haben wir die Wertesumme in 'blood_bottles' bestimmt. Zum Beispiel befindet sich "Ali" in den Spaltenwerten "Gruppen" der Spaltenwerte a und c. In Gruppe A beträgt die Summe der Werte von 'Blood_bottles' für ALI 2 und 5 in Gruppe 'C'.
Beispiel Nr. 02: Anwenden mehrerer Funktionen auf eine einzelne Datendatenspalte mit GroupBy anwenden.Agg () Funktion
Mehrere Aggregationen können mit der Methode „GroupBy ()“ unter Verwendung der Pandas -Funktion agg () angewendet werden. Eine Anrufliste kann an die Methode übergeben werden. Schauen wir uns an, wie wir unsere Daten mit den integrierten Methoden der Numpy Library aggregieren können. Im Gegensatz zum vorherigen Beispiel werden wir mehrere Funktionen auf eine einzelne Spalte des DataFrame anwenden. Die PD.DataFrame () -Funktion wird verwendet, um einen Datenrahmen dafür mit mindestens einer Spalte mit numerischen Werten zu erstellen.
Der erforderliche Datenrahmen wurde erstellt, der eine numerische Spalte i hat.e. 'Marks' mit den Werten 41, 40, 35, 39, 49, 31, 34 und 42. In unserem Datenrahmen gibt es 3 weitere Spalten "Student", "Fächer" und "Abschluss", die durch die Verwendung der Gruppe GroupBy () in Gruppen unterteilt werden können. Die Werte in Spalten 'Studenten' und 'Fächern' sind ('Harry', 'Ron', 'Harry', 'Lana', 'Sam', 'Ron', 'Lana', 'Max') und ('C ++' , 'Java', 'Python', 'Python', 'Ai', 'Java', 'C ++', 'ai'). Während der Spaltengrad die Datenwerte als Zeichenfolgen enthält, i, i.e., ('MS', 'BS', 'BS', 'MS', 'MS', 'MS', 'BS', 'BS'). Nehmen wir an, wir müssen die Daten der Spalte „Probanden“ gruppieren und sowohl den Mittelwert als auch die Summe der Spaltenmarkierungen für jede gruppierte Daten bestimmen.
Wir haben den Namen der Spalte "Probanden" als Zeichenfolge innerhalb der Funktion "GroupBy () angegeben, um die Daten in Gruppen von Kategorien umzuwandeln. Für die Spalte der Markierungen haben wir die Agg () -Methode und innerhalb der Agg () -Funktion verwendet, haben wir die Numpy -Funktionen NP angegeben.Summe und NP.Stellen Sie die Summe und den Durchschnitt der Markierungen der einzelnen Gruppendaten in Spaltenpersonen fest. Die Summe und der Mittelwert für den Gruppenwert 'AI' sind 91 und 45.5, jeweils. Die Summe der Markierungen für den Wert 'C ++' beträgt 75 und der Mittelwert 37.5. Für die Gruppe Java beträgt die Notensumme 71 und der Mittelwert 35.5, während der Summe und der Mittelwert für Python 74 bzw. 37 sind.
Beispiel Nr. 03: Anwenden mehrerer Funktionen auf die mehreren Spalten des Datenrahmens mit GroupBy anwenden.Agg () Funktion
Anstatt verschiedene Funktionen auf die Spalte eines einzelnen DataFrame anzuwenden, können wir mehrere Funktionen auf verschiedene numerische Spalten anwenden. Wir können ein Wörterbuch in der AGG () -Funktion als Eingabe verwenden, um eine bestimmte Aggregationsmethode auf die Spalten von verschiedenen Datenfreams anzuwenden. Importieren wir die Pandas- und Numpy -Bibliotheken, bevor wir einen Datenrahmen mit mehreren numerischen Spalten erstellen.
Der neu erstellte DataFrame mit den Namen "Player", "kleindes_Score", "Hochstärkern" und "Ort" befinden sich vier Spalten im Namen "Player". In der Spalte "Player" haben wir die Namen einiger Spieler als String -Datenwerte ("Leo", "Alex", "Leo", "Fin", "Leo", "Alex", "Fin", "" gespeichert. Fin '), in der Spalte' kleinste_Score 'Es gibt die niedrigsten Plätze von Spielern für einige Spiele (12, 34, 2, 21, 9, 1, 0, 34), während wir in der Spalte' HEIDHT_SCORE 'die höchsten Punkte der Spieler haben (12, 34, 2, 21, 9, 1, 0, 34) und in der Kolumne 'Ort' gibt es die Namen von Veranstaltungsorten, an denen die Spieler ihre Spiele gespielt haben ('Frankreich', 'England', 'Dubai', '' Dubai ',' England ',' Frankreich ',' Dubai ',' Frankreich ').
Nehmen wir an, nachdem wir die Daten in die Spalte "Spieler" gruppiert haben.
In der Funktion agg () haben wir ein Python Dictionary 'heiTest_score': 'sum', 'mindestenscore': 'Mean' übergeben, um die Summe und den Durchschnittswert für eine bestimmte Spalte gegen jede Gruppe zu ermitteln. Es ist ersichtlich, dass der gruppierte Wert Alex die Summe des Wertes "HEIDHEST_SCORE" 132 und den Durchschnitt des "kleinsten" Wertes 17 hat.5. Für 'Fin' beträgt die Wertsumme 199 und der Durchschnitt 18.33333333 in den Spalten 'HEILSTE_SCORE' bzw. 'kleinsten_Score'. Der Gruppenwert LEO hat einen Summenwert von 180 in 'HEIDHEST_SCORE' und einen Durchschnittswert von 7.666667 in 'redel_score' '.
Abschluss
In diesem Tutorial haben wir die Funktionen von GroupBy () und Aggregation in Pandas besprochen. Wir haben auch besprochen, wie man den Groupby benutzt.Agg () Funktion. Wir haben in diesem Artikel drei Beispiele implementiert, um Ihnen beizubringen, wie Sie eine einzelne Aggregationsfunktion in einer DatenfraMes -Spalte verwenden, indem Sie die Daten einzelner und mehrerer Spalten gruppieren, mehrere Aggregationsfunktionen auf einer einzelnen Spalte eines Datenrahmens anwenden und mehrere Mehrfach anwenden Aggregationsfunktionen auf den mehreren Spalten des Datenrahmens mit dem GroupBy.Agg () Funktion.