Panda`s GroupBy

| | | | | | | | | | | | | | | | | | | | | |

Groupby — vrij eenvoudig concept. We kunnen een groep categorieën maken en de functie toepassen op de categorieën. Het is een eenvoudig concept, maar het is een uiterst waardevolle techniek die veel wordt gebruikt in data wetenschap. In echte data science-projecten heb je te maken met grote hoeveelheden van gegevens en proberen dingen herhaaldelijk te doen, dus voor efficiëntie gebruiken we het Groupby-concept. Het Groupby-concept is erg belangrijk omdat het in staat is om data efficiënt te combineren, zowel qua performance als qua hoeveelheid code. Groepering verwijst voornamelijk naar een proces dat een of meer van de volgende stappen omvat:

  • Scheiding: is een proces waarbij we gegevens in groepen verdelen door een aantal voorwaarden toe te passen op datasets .
  • Toepassing: is een proces waarbij we op elke groep onafhankelijk een functie toepassen
  • Consolidatie: is een proces waarbij we combineren verschillende datasets na het toepassen van groepering en resultaten in een datastructuur

De volgende afbeelding zal u helpen het proces te begrijpen dat betrokken is bij het Groupby-concept.
1. Groepeer de unieke waarden ‚Äã‚Äãuit de kolom "Team".

2. Er is nu een bucket voor elke groep

3. Gooi andere gegevens in emmers

4. Pas de functie toe op de gewichtskolom voor elke emmer.

Gegevens in groepen verdelen

Splitsen — het is een proces waarbij we de gegevens in groepen verdelen door enkele voorwaarden aan de datasets toe te passen. Om gegevens te scheiden, stellen wij bepaalde voorwaarden aan datasets. Om gegevens te scheiden, gebruiken we groupby () deze functie wordt gebruikt om gegevens in groepen te verdelen volgens bepaalde criteria . Panda`s-objecten kunnen worden onderverdeeld in elk van hun assen. Een abstracte definitie van groeperen is het verschaffen van een toewijzing van labels aan groepsnamen. Panda`s-gegevenssets kunnen worden opgesplitst in objecten. Er zijn verschillende manieren om gegevens te splitsen, bijvoorbeeld:

Opmerking: hier we verwijzen naar het groeperen van objecten als sleutels.
Gegevens groeperen met één sleutel:
Om gegevens met één sleutel te groeperen, geven we slechts één sleutel als argument door aan de groupby functie.

< br>Nu groeperen we de gegevens Naam met behulp van de functie groupby () .


# met de functie groupby
# met één sleutel

df.groupby ( `Naam` )

print (df.groupby< /a> ( `Naam` ). groepen)

Uitvoer:

Nu printen we de eerste records in alle gevormde groepen .


# pas de groupby () functie om
# gegevens groeperen op naam waarde

gk = df.groupby ( `Naam` )


# Druk de eerste invoer af
# in alle gegenereerde groepen.
gk.first ()

# pandas module import

import panda`s als pd


# Definieer een woordenboek met werknemersgegevens

data1 = { ` Naam` : [ `Jai` , `Anuj` , ` Jai` , ` Princi` ,

` Gaurav` , `Anuj` , `Princi` , `Abhi` ],

` Leeftijd` : [ 27 , 24 , 22 , 32 ,

33 , 36 , 27 , 32 ],

`Adres` : [ ` Nagpur` , `Kanpur ` , `Allahabad` , `Kannuaj` ‚Äã‚Äã ,

` Jaunpur` , `Kanpur` , `Allahabad` , ` Aligarh` ],

`Kwalificatie` : [ `Msc` , ` MA` , `MCA` , ` Phd` ,

`B.Tech` , ` B.com` , `Msc` , ` MA` ]}


< br> # Converteer woordenboek naar DataFrame

df = pd.DataFrame (data1)

print (df)

Uitvoer:

Gegevens groeperen met meerdere sleutels:
Om gegevens met meerdere sleutels te groeperen, verzenden we meerdere sleutels in groupby functie.


# pandas module import

import panda`s als pd


# Definieer een woordenboek met werknemersgegevens

data1 = { `Naam` : [ `Jai` , ` Anuj` , `Jai` , ` Princi` ,

`Gaurav` , ` Anuj` , `Princi` , ` Abhi` ],

`Leeftijd` : [ 27 , 24 , 22 , 32 ,

33 , 36 , 27 , 32 ],

`Adres` : [ ` Nagpur` , `Kanpur` , ` Allahabad` , `Kannuaj` ‚Äã‚Äã ,

`Jaunpur` , `Kanpur` , ` Allahabad ` , `Aligarh` ],

`Kwalificatie` : [ `Msc` , ` MA` , ` MCA` , ` Phd` ,

`B.Tech` , `B.com` , ` Msc` , `MA` ]}



# Converteer woordenboek in DataFrame

df = pd. DataFrame (data1)


print (df)


Nu gaan we de naam- en kwalificatiegegevens groeperen met meerdere sleutels in de functie groupby werken.


# Meerdere toetsen gebruiken in
# groupby () functie

df.groupby ([ ` Naam` , `Kwalificatie` ])


print (df.groupby ([ `Naam` , ` Kwalificatie` ]). groepen)

Uitvoer:

Gegevens groeperen op sleutelsortering:
Groepssleutels worden standaard gesorteerd tijdens bulkbewerking. Gebruiker kan sort = False doorgeven voor mogelijke versnellingen.


# pandas module import

importeer panda`s als pd


# Definieer een woordenboek met werknemersgegevens

data1 = { `Naam` : [ `Jai` , ` Anuj` , `Jai` , ` Princi` ,

`Gaurav` , `Anuj` , ` Princi` , `Abhi` ],

`Leeftijd` : [ 27 , 24 , 22 , 32 ,

33 , 36 , 27 , 32 ],}



# Converteer woordenboek naar DataFrame

df = pd.DataFrame (data1)


print (df)


Nu passen we groupby () geen sortering



# de functie groupby gebruiken
# zonder sorteren


df.groupby ([ `Naam` ]). sum ()

Uitvoer:

Nu gebruiken we groupby () met behulp van sorteren om potentiële snelheid te bereiken.


# met behulp van de groupby functie
# gesorteerd


df .groupby ([ `Naam` ], sort = False ). sum ( )

Uitvoer:

Gegevens groeperen met objectkenmerken:
Het groepsattribuut is vergelijkbaar met een woordenboek, waarvan de sleutels berekende unieke groepen zijn, en de corresponderende waarden ‚Äã‚Äãzijn de aslabels, behoren tot elke groep.


# pandas module import

import pandas as pd


# Definieer een woordenboek met werknemersgegevens

data1 = { `Naam` : [ ` Jai` , `Anuj` , ` Jai ` , ` Princi` ,

`Gaurav` , ` Anuj` , `Princi` , ` Abhi` ],

`Leeftijd` : [ 27 , 24 , 22 , 32 ,

33 , 36 , 27 , 32 ],

`Adres` : [ ` Nagpur` , ` Kanpur` , `Allahabad` , ` Kannuaj` ‚Äã‚Äã ,

`Jaunpur` , `Kanpur` , ` Allahabad` , `Aligarh` ],

` Kwalificatie` : [ `Msc` , `MA` , `MCA` , ` Phd` ,

`B .Tech` , `B.com` , ` Msc` , `MA` ]}



# Converteer woordenboek naar DataFrame

df = pd.DataFrame (data1)


print (df)


Nu groeperen we de gegevens zoals we dat in een woordenboek doen met behulp van toetsen.

# groeperingssleutels gebruiken
# data


df.groupby ( ` Naam` ). groepen

Uitvoer:

Itereren over de groepen

To herhalen over het groepsitem, we kunnen herhalen over een object vergelijkbaar met iterto.ols .


# pandas module import

importeer panda`s als pd


# Definieer het woordenboek met de gegevens over werknemers

data1 = { `Naam` : [ ` Jai` , ` Anuj` , `Jai` , `Princi` ,

`Gaurav` , ` Anuj ` , ` Princi` , `Abhi` ],

` Leeftijd` : [ 27 , 24 , 22 , 32 ,

33 , 36 , 27 , 32 ],

` Adres` : [ ` Nagpur` , `Kanpur` , `Allahabad` , `Kannuaj` ‚Äã‚Äã ,

` Jaunpur ` , ` Kanpur` , `Allahabad` , ` Aligarh` ],

`Kwalificatie` : [ `Msc` , `MA` , ` MCA` , `Phd` ,

`B.Tech` , ` B.com` , `Msc` , ` MA ` ]}


# Converteer woordenboek naar DataFrame

df = pd.DataFrame (data1)

print (df)


We herhalen nu het groepselement net zoals we doen in itertools.obj.


# element herhaling
Groep #


grp = df.groupby ( `Naam` )

voor naam, groep in grp:

print (naam)

print (groep)

print ()

Uitvoer:

Nu herhalen we een groepselement met meerdere sleutels


# element repeat
# van de groep met
# meerdere sleutels


grp = df.groupby ([ `Naam` , ` Kwalificatie` ])

voor naam, groep in grp:

pr int (naam)

print (groep)

print ( )

Uitvoer:
Zoals weergegeven in de uitvoer, is de groepsnaam een tuple

Groepsselectie

Om een groep, kunnen we een groep selecteren met behulp van GroupBy.get_group () . We kunnen een groep selecteren door de functie GroupBy.get_group toe te passen. Deze functie selecteert één groep.


# pandas module import

import panda`s als pd


# Definieer een woordenboek met werknemersgegevens

data1 = { `Naam` : [ `Jai` , ` Anuj` , `Jai` , ` Princi` ,

`Gaurav` , `Anuj` , ` Princi` , `Abhi` ],

print (naam)

print (groep)

print ()

Uitvoer:
Zoals weergegeven in de uitvoer, wordt de groepsnaam a tuple

Groepsselectie

Om een groep te selecteren, kunnen we een groep selecteren met behulp van GroupBy.get_group () . We kunnen een groep selecteren door de functie GroupBy.get_group toe te passen. Deze functie selecteert één groep .


# pandas module import

import panda`s als pd