Panda GroupBy

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

Groupby — concetto piuttosto semplice. Possiamo creare un gruppo di categorie e applicare la funzione alle categorie. È un concetto semplice, ma è una tecnica estremamente preziosa ampiamente utilizzata nei data scienza. Nei progetti data science nel mondo reale, avrai a che fare con grandi quantità di dati e cercando di fare le cose ripetutamente, quindi per efficienza utilizziamo il concetto Groupby. Il concetto di Groupby è davvero importante perché è in grado di combinare i dati in modo efficiente, sia in termini di prestazioni che di quantità di codice. Il raggruppamento si riferisce principalmente a un processo che coinvolge uno o più dei seguenti passaggi:

  • Separazione: è un processo in cui dividiamo i dati in gruppi applicando alcune condizioni ai set di dati .
  • Applicazione: è un processo in cui applichiamo una funzione a ciascun gruppo in modo indipendente
  • Consolidamento: è un processo in cui combiniamo diversi set di dati dopo aver applicato il raggruppamento e i risultati in una struttura di dati

L`immagine seguente ti aiuterà a comprendere il processo coinvolto nel concetto di Groupby.
1. Raggruppa i valori univoci ‚Äã‚Äãdalla colonna "Team".

2. Ora c`è un bucket per ogni gruppo

3. Getta altri dati nei bucket

4. Applica la funzione alla colonna del peso per ciascun bucket.

Suddivisione dei dati in gruppi

Suddivisione — è un processo in cui dividiamo i dati in gruppi applicando alcune condizioni ai set di dati. Per separare i dati, applichiamo determinate condizioni ai set di dati. Per separare i dati, utilizziamo groupby () questa funzione viene utilizzata per dividere i dati in gruppi secondo alcuni criteri . Gli oggetti Panda possono essere suddivisi in uno qualsiasi dei loro assi. Una definizione astratta di raggruppamento consiste nel fornire una mappatura delle etichette ai nomi dei gruppi. I set di dati Pandas possono essere suddivisi in qualsiasi oggetto. Esistono diversi modi per dividere i dati, ad esempio:

Nota: qui ci riferiamo al raggruppamento di oggetti come chiavi.
Raggruppare i dati con una chiave:
Per raggruppare i dati con una chiave, passiamo solo una chiave come argomento al groupby funzione.

< br>Ora raggruppiamo i dati Nome utilizzando la funzione groupby () .


# utilizzando la funzione groupby


code>
# con una chiave

df.groupby ( `Nome` )

print (df.groupby< /a> ( `Nome` ). gruppi)

Risultato:

Ora stampiamo i primi record in tutti i gruppi formati.


# applica il groupby () funzione per
# raggruppamento di dati per nome valore

gk = df.groupby ( `Nome` )


# Stampa le prime voci
# in tutti i gruppi generati.
gk.first ()

# importazione modulo pandas

import panda come pd


# Definisci un dizionario contenente i dati dei dipendenti

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

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

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

33 , < codice classe = "value"> 36 , 27 , 32 ],

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

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

`Qualificazione` : [ `Msc` , ` MA` , `MCA` , ` Phd` code> ,

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


< br> # Converti dizionario in DataFrame

df = pd.DataFrame (data1)

print (df)

Risultato:

Raggruppare i dati con più chiavi:
Per raggruppare i dati con più chiavi, trasmettiamo più chiavi in groupby funzione.


# importazione modulo pandas

import panda come pd


# Definisci un dizionario contenente i dati dei dipendenti

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

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

`Età` : [ 27 , 24 , 22 , 32 ,

33 , 36 , 27 , 32 ],

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

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

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

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



# Converti dizionario in DataFrame

df = pd. DataFrame (data1)


print (df)


Ora raggrupperemo i dati di Nome e Qualifica utilizzando più chiavi nella funzione groupby .


# Utilizzo di più chiavi in
# groupby () funzione

df.groupby ([ ` Name` , `Qualificazione` ])


print (df.groupby ([ `Nome` , ` Qualificazione` ]). gruppi)

Risultato:

Raggruppamento dei dati in base all`ordinamento delle chiavi:
Le chiavi di gruppo vengono ordinate per impostazione predefinita durante l`operazione di massa. L`utente può passare sort = False per possibili accelerazioni.


# importazione del modulo pandas

import panda come pd


# Definisci un dizionario contenente i dati dei dipendenti

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

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

`Età` : [ 27 , 24 , 22 , 32 ,

33 , 36 , 27 , 32 ],}



# Converti dizionario in DataFrame

df = pd.DataFrame (data1)


print (df)


Ora stiamo applicando groupby () nessun ordinamento



# utilizzando la funzione groupby
# senza utilizzare l`ordinamento


df.groupby ([ `Nome` ]). somma ()

Risultato:

Ora utilizziamo groupby () utilizzando l`ordinamento per ottenere un potenziale aumento della velocità.


# utilizzando groupby funzione
# ordinato


df .groupby ([ `Nome` ], sort = False ). somma ( )

Output:

Raggruppare i dati con gli attributi dell`oggetto:
L`attributo groups è simile a un dizionario, le cui chiavi sono calcolate in gruppi univoci e i valori corrispondenti ‚Äã‚Äãsono le etichette degli assi, appartengono a ciascun gruppo.


# panda module import

import panda come pd


# Definisci un dizionario contenente i dati dei dipendenti

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

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

`Età` : [ 27 , 24 , 22 , 32 ,

33 , 36 , 27 , 32 ],

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

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

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

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



# Converti dizionario in DataFrame

df = pd.DataFrame (data1)


print (df)


Ora raggruppiamo i dati come facciamo in un dizionario usando le chiavi.

# utilizzando le chiavi di raggruppamento
# data


df.groupby ( ` Name` ). gruppi

Risultato:

Iterazione sui gruppi

A iterare sull`elemento dei gruppi, possiamo iterare su un oggetto simile a iterto.ols .


# pandas module import

import panda come pd


# Definisci il dizionario contenente i dati sui dipendenti

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

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

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

33 , 36 , 27 , 32 ],

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

` Jaunpur ` , ` Kanpur` code> , `Allahabad` , ` Aligarh` ],

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

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


# Converti dizionario in DataFrame

df = pd.DataFrame (data1)

print < /codice> (df)


Ora ripetiamo l`elemento del gruppo proprio come facciamo in itertools.obj.


# ripetizione elemento
Gruppo #


grp = df.groupby ( `Nome` )

for nome, gruppo in grp:

print (nome)

print (gruppo)

print ()

Output:

Ora eseguiamo un`iterazione su un elemento di gruppo contenente più chiavi


# ripetizione elemento
# del gruppo contenente
# chiavi multiple


grp = df.groupby ([ `Nome` , ` Qualifica` ])

for nome, gruppo in grp:

pr int (nome)

print (gruppo)

print ( )

Output:
Come mostrato nell`output, il nome del gruppo sarà una tupla

Selezione gruppo

Per selezionare un gruppo, possiamo selezionare un gruppo usando GroupBy.get_group() . Possiamo selezionare un gruppo applicando la funzione GroupBy.get_group questa funzione selezionerà un gruppo.


# pandas modulo import

import panda come pd


# Definisci un dizionario contenente i dati dei dipendenti

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

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

print (nome)

print (gruppo)

print ()

Output:
Come mostrato nell`output, il nome del gruppo sarà a tuple

Selezione gruppo

Per selezionare un gruppo, possiamo selezionare un gruppo usando GroupBy.get_group() .Possiamo selezionare un gruppo applicando la funzione GroupBy.get_group questa funzione selezionerà un gruppo .


# importazione modulo panda

importazione panda come pd