Pandas Split Apply Combine
In diesem Artikel besprechen wir die Split-Apply-Combine-Strategie von Pandas. Diese Strategie ist bei der Arbeit mit großen Datensätzen von Vorteil, da es schwierig sein kann, alle Daten auf einmal zu analysieren.
Teilen Kombinieren-Strategie anwenden
Die Pandas Split Apply Combine-Strategie ist eine leistungsstarke Datenanalysetechnik, bei der ein Datensatz in Gruppen partitioniert wird, eine Funktion für jede Gruppe verwendet wird und die Ergebnisse dann kombiniert werden. Diese Strategie kann verschiedene Datenanalyseaufgaben ausführen, z. B. das Aggregieren von Daten, das Berechnen von Statistiken und das Auffinden von Mustern.
Denken Sie an die folgenden Punkte, wenn Sie die Split-Apply-Combine-Strategie verwenden.
- Zunächst ist es wichtig, eine geeignete Funktion auszuwählen, die auf die Daten angewendet werden soll.
- Zweitens werden die Analyseergebnisse davon beeinflusst, wie die Daten gruppiert sind. Wenn die Informationen beispielsweise nach Jahr gruppiert sind, sind die Ergebnisse anders als wenn die Daten nach Land gruppiert sind.
Es kann uns helfen, Beziehungen zwischen Variablen zu verstehen und Muster zu erkennen, die bei Betrachtung der Daten als Ganzes schwer zu erkennen wären.
Verwenden Sie die Split-Apply-Combine-Strategie
Die Split-Apply-Combine-Strategie kann verwendet werden, um verschiedene Arten von Fragen zu beantworten, darunter:
- Wie hoch ist das Durchschnittsalter der Menschen in jedem Staat?
- Wie hoch ist die Gesamtzahl der Menschen in jedem Staat?
- Wie hoch ist das durchschnittliche Einkommen der Menschen in jedem Staat?
Zuerst nehmen wir eine Reihe von Daten wie den folgenden Code.
import numpy as np
import pandas as pd
df = pd.DataFrame(
{
"A": ["one", "two", "three", "four", "five", "six", "seven", "eight"],
"B": ["AB", "BC", "CD", "DE", "EF", "FG", "GH", "HI"],
"C": np.random.randn(8),
"D": np.random.randn(8),
}
)
print(df)
Ausgang:
A B C D
0 one AB -1.178015 -0.718776
1 two BC -0.149049 0.557202
2 three CD -0.486704 1.491223
3 four DE 0.143172 1.669733
4 five EF -0.627370 0.825338
5 six FG 2.105268 -0.239559
6 seven GH 1.203344 0.592531
7 eight HI 1.756920 1.164611
Um die Split-Apply-Combine-Strategie zu verwenden, müssen Sie:
- Teilen Sie die Daten in Gruppen auf.
- Wenden Sie eine Funktion auf jede Gruppe an.
- Kombinieren Sie die Ergebnisse.
Teilen Sie die Daten in Gruppen auf
Sie müssen Ihre Daten zuerst in Gruppen aufteilen, um die kombinierte Methode zu verwenden. Sie können dies mit der pandas groupby
-Funktion tun.
Um die Daten in Gruppen aufzuteilen, müssen Sie sich für eine Variable entscheiden, nach der gruppiert werden soll. Diese Variable bestimmt, wie die Daten in Gruppen aufgeteilt werden.
grouped = df.groupby(["A", "B"])
Wenden Sie eine Funktion auf jede Gruppe an
Sobald Ihre Daten gruppiert sind, können Sie eine Funktion auf jede Gruppe anwenden. Dies kann jede beliebige Funktion sein, aber sie muss in der Lage sein, mit einer Gruppe von Daten zu arbeiten.
df2 = df.set_index(["A", "B"])
Kombinieren Sie die Ergebnisse
Schließlich können Sie die Ergebnisse des Anwendungsschritts mit der Pandas-Funktion concat
zu einem einzigen Datenrahmen
kombinieren. Dadurch erhalten Sie einen einzigen Datenrahmen
, der die Ergebnisse des Bewerbungsschritts für jede Gruppe enthält.
Dies kann auf unterschiedliche Weise erfolgen, je nachdem, welche Frage Sie beantworten möchten.
grouped.sum()
Lassen Sie uns jede der obigen Aussagen kombinieren und sehen, wie es funktioniert.
Codebeispiel:
import numpy as np
import pandas as pd
df = pd.DataFrame(
{
"A": ["one", "two", "three", "four", "five", "six", "seven", "eight"],
"B": ["AB", "BC", "CD", "DE", "EF", "FG", "GH", "HI"],
"C": np.random.randn(8),
"D": np.random.randn(8),
}
)
# split the data
grouped = df.groupby(["A", "B"])
# apply a function to each group
df2 = df.set_index(["A", "B"])
# combine the group
grouded_data = grouped.sum()
print(grouded_data)
Ausgang:
C D
A B
eight HI -0.398241 -1.145102
five EF 0.439858 -0.923552
four DE -1.150551 -1.466125
one AB 0.882921 0.078129
seven GH -1.750068 -0.568044
six FG -1.335543 0.562349
three CD -0.876180 1.007510
two BC 1.275738 0.136052
Abschluss
Die Split-Apply-Combine-Strategie ist eine der am häufigsten verwendeten Strategien in der Datenwissenschaft. Es ist eine flexible und präzise Möglichkeit, Daten in Gruppen aufzuteilen, Funktionen auf diese Gruppen anzuwenden und dann die Ergebnisse zu kombinieren.
Der SAC-Prozess ist ein wichtiger Bestandteil der Pandas-Bibliothek und wird von Datenwissenschaftlern ausgiebig genutzt. Es gibt viele Anwendungsfälle für die Pandas-Split-Apply-Combine-Strategie. Wenn Sie mehr wissen möchten, lesen Sie den Blog und probieren Sie es aus.
Zeeshan is a detail oriented software engineer that helps companies and individuals make their lives and easier with software solutions.
LinkedInVerwandter Artikel - Pandas DataFrame
- Wie man Pandas DataFrame-Spaltenüberschriften als Liste erhält
- Pandas DataFrame-Spalte löschen
- Wie man DataFrame-Spalte in Datetime in Pandas konvertiert
- Wie konvertiert man eine Fließkommazahl in eine Ganzzahl in Pandas DataFrame
- Wie man Pandas-DataFrame nach den Werten einer Spalte sortiert
- Wie erhält man das Aggregat der Pandas gruppenweise und sum