Gruppieren nach — ziemlich einfaches Konzept. Wir können eine Gruppe von Kategorien erstellen und die Funktion auf die Kategorien anwenden. Es ist ein einfaches Konzept, aber es ist eine äußerst wertvolle Technik, die in Daten weit verbreitet ist Wissenschaft. In realen Data Science-Projekten werden Sie mit großen Mengen zu tun haben von Daten und versuchen, Dinge wiederholt zu tun, also verwenden wir aus Effizienzgründen das Groupby-Konzept. Das Groupby-Konzept ist wirklich wichtig, da es Daten effizient kombinieren kann, sowohl in Bezug auf die Leistung als auch auf die Menge an Code. Gruppierung bezieht sich hauptsächlich auf einen Prozess, der einen oder mehrere der folgenden Schritte umfasst:
- Trennung: ist ein Prozess, bei dem wir Daten in Gruppen aufteilen, indem wir einige Bedingungen auf Datensätze anwenden .
- Anwendung: ist ein Prozess, bei dem wir eine Funktion unabhängig voneinander auf jede Gruppe anwenden.
- Konsolidierung: ist ein Prozess, bei dem Wir kombinieren verschiedene Datensätze nach der Anwendung von Gruppierungen und Ergebnissen in einer Datenstruktur
Das folgende Bild hilft Ihnen, den Prozess des Groupby-Konzepts zu verstehen.
1. Gruppieren Sie die eindeutigen Werte „Äã‚Äãaus der Spalte „Team“.
2. Für jede Gruppe gibt es nun einen Bucket
3. Werfen Sie andere Daten in Eimer
4. Wenden Sie die Funktion auf die Gewichtsspalte für jeden Bucket an.
Aufteilen von Daten in Gruppen
Aufteilen — Es ist ein Prozess, bei dem wir die Daten in Gruppen aufteilen, indem wir einige Bedingungen auf die Datensätze anwenden. Um Daten zu trennen, wenden wir bestimmte Bedingungen auf Datensätze an. Um Daten zu trennen, verwenden wir groupby ()
Diese Funktion wird verwendet, um Daten nach bestimmten Kriterien in Gruppen zu unterteilen . Pandas-Objekte können in jede ihrer Achsen unterteilt werden. Eine abstrakte Definition von Gruppierung besteht darin, eine Zuordnung von Bezeichnungen zu Gruppennamen bereitzustellen. Pandas-Datensätze können in beliebige Objekte aufgeteilt werden. Es gibt mehrere Möglichkeiten, Daten aufzuteilen, zum Beispiel:
Hinweis: hier Wir bezeichnen das Gruppieren von Objekten als Schlüssel.
Gruppieren von Daten mit einem Schlüssel:
Um Daten mit einem Schlüssel zu gruppieren, übergeben wir nur einen Schlüssel als Argument an groupby
Funktion.
< br>
|
Ausgabe:
Daten mit mehreren Schlüsseln gruppieren:
Um Daten mit mehreren Schlüsseln zu gruppieren, übertragen wir mehrere Schlüssel in groupby
Funktion.
# pandas module import
import
pandas as pd
# Definition eines Wörterbuchs mit Mitarbeiterdaten
data1
=
{
`Name`
: [
`Jai`
,
`Anuj`
,
`Jai`
,
` Princi`
,
`Gaurav`
,
` Anuj`
,
`Princi`
,
` Abhi`
],
`Age`
: [
27
,
24
,
22
,
32
,
33
,
36
,
27
,
32
],
`Adresse`
: [
` Nagpur`
,
`Kanpur`
,
` Allahabad`
,
`Kannuaj` ​​
,
`Jaunpur`
< Codeklasse ="plain">, `Kanpur`
,
` Allahabad `
,
`Aligarh`
],
`Qualifikation`
: [
`Msc`
,
` MA`
,
` MCA`
,
` Phd`
,
`B.Tech`
,
`B.com`
,
` Msc`
,
`MA`
]}
# Wörterbuch in DataFrame konvertieren
df
=
pd. DataFrame (data1)
print
(df)
Nun gruppieren wir die Namens- und Qualifikationsdaten mithilfe von mehrere Schlüssel in der groupby
-Funktion funktionieren.
Ausgabe: Gruppieren von Daten nach Schlüsselsortierung:
|
Jetzt bewerben wir uns groupby ()
keine Sortierung
# Verwendung der groupby-Funktion
# ohne Verwendung der Sortierung
df.groupby ([
`Name`
]).
sum
()
Ausgabe:
Jetzt verwenden wir groupby ()
mit sort, um eine potenzielle Beschleunigung zu erzielen.
Ausgabe: Gruppierung von Daten mit Objektattributen:
|
Ausgabe:
Iteration über die Gruppen
Zu über das Gruppenelement iterieren, können wir über ein Objekt iterto.ols ähnlich iterieren.
# pandas module import
import
Pandas als pd
# Definieren Sie das Wörterbuch, das die Daten über Mitarbeiter enthält
data1
=
{
`Name`
: [
` Jai`
,
` Anuj`
,
`Jai`
,
`Princi`
,
`Gaurav`
,
` Anuj `
,
` Princi`
,
`Abhi`
],
` Age`
: [
27
,
24
,
22
,
32
,
33
,
36
,
27
,
32
],
` Adresse`
: [
` Nagpur`
,
`Kanpur`
,
`Allahabad`
,
`Kannuaj` ​​
,
` Jaunpur `
,
` Kanpur`
,
`Allahabad`
,
` Aligarh`
],
`Qualifikation`
: [
`Msc`
,
`MA`
,
`MCA`
,
`Phd`
,
`B.Tech`
,
` B.com`
,
`Msc`
,
` MA `
]}
# Wörterbuch in DataFrame konvertieren
df
=
pd.DataFrame (data1)
print
Wir wiederholen jetzt das Gruppenelement genau wie in itertools.obj.
# Elementwiederholung
Group #
grp
=
df.groupby (
`Name`
)
für
Name, Gruppe
in
grp:
print
(name)
print
(group)
print
()
Ausgabe:
Nun iterieren wir über ein Gruppenelement enthält mehrere Schlüssel
# element repeat
# der Gruppe, die
# mehrere Schlüssel
grp < enthält /code>
=
df.groupby ([
`Name`
,
` Qualifikation`
])
für
Name, Gruppe
in
grp:
print
(name)
print
(Gruppe)
print
( )
Ausgabe:
Wie in der Ausgabe gezeigt, ist der Gruppenname ein Tupel
Gruppenauswahl
Um a auszuwählen group, können wir eine Gruppe mit GroupBy.get_group ()
auswählen. Wir können eine Gruppe auswählen, indem wir die Funktion GroupBy.get_group
anwenden. Diese Funktion wählt eine Gruppe aus.
# pandas module import
import
pandas as pd
# Definition eines Wörterbuchs mit Mitarbeiterdaten
data1
=
{
`Name`
: [
`Jai`
,
` Anuj`
,
`Jai`
,
` Princi`
,
`Gaurav`
,
`Anuj`
,
` Princi`
,
`Abhi`
],
print
(name)
print
(group)
print
()
Ausgabe:
Wie in der Ausgabe gezeigt, lautet der Gruppenname ein Tupel
Gruppenauswahl
Um eine Gruppe auszuwählen, können wir eine Gruppe mit GroupBy.get_group ()
auswählen. Wir können eine Gruppe auswählen, indem wir die Funktion GroupBy.get_group
anwenden. Diese Funktion wählt eine Gruppe aus .
# pandas module import
import
pandas als pd