PANDAS GROUPBY Aggregato

PANDAS GROUPBY Aggregato

La tecnica GroupBy è essenziale per quanto bene aggrega i dati in termini di prestazioni e dimensioni del codice. Il termine "GroupBy" in genere descrive una procedura che include i seguenti passaggi:

  • Scissione: Applicando determinate condizioni ai set di dati, possiamo dividere i dati in gruppi.
  • Applicazione: Un processo in cui applichiamo individualmente un metodo a ogni gruppo.
  • Combinando: Una procedura per combinare vari set di dati per formare una struttura di dati dopo aver utilizzato il metodo GroupBy ().

Nel processo di aggregazione, viene calcolata una statistica sommaria per ciascun gruppo. Per ciascun gruppo, il metodo aggregato restituisce un valore aggregato (valore singolo). Possiamo eseguire diverse operazioni di aggregazione su dati raggruppati dopo aver diviso i dati in gruppi utilizzando la funzione GroupBy.

Perché i panda forniscono una varietà di metodi di aggregazione dei dati?

I panda offrono una vasta gamma di funzionalità e funzioni per aiutare nell'analisi e nell'aggregazione dei dati. L'uso dei metodi Pivot (), GroupBy () e Pivot_table (), ad esempio, ognuno offre una prospettiva diversa su come i dati sarebbero aggregati. Forniscono approcci pratici per svolgere vari compiti piuttosto che essere semplicemente riconfezionati.

Come usare il .funzione agg () nei panda

Una semplice media o una somma di valori è la funzione di aggregazione che viene utilizzata più frequentemente. È possibile utilizzare una colonna di dati di dati o più colonne per chiamare una funzione aggregata. Vedrai molti modi per aggregare i dati utilizzando il metodo Pandas Groupby. Per dimostrare quanto sia più facile la procedura, diamo un'occhiata ad alcuni esempi riportati di seguito. Operazioni di matematica di base come somma, minimo, massimo, deviazione assoluta media, deviazione standard, media, mediana, varianza e prodotto sono tra le funzioni di aggregazione integrate più frequentemente utilizzate. Per riassumere i dati, possiamo combinare GroupBy e la funzione Agg ().

Esempio # 01: determinare la somma delle colonne raggruppando i dati utilizzando GroupBy.funzione agg ()

Prima creeremo un frame dati utilizzando PD.Funzione dataframe () in modo da poter raggruppare i dati dalla colonna o dalle colonne del frame dati e quindi determinare il loro valore medio. Dobbiamo importare i moduli di panda e la libreria numpy prima di creare il frame dati.

Come puoi vedere, abbiamo usato il dizionario Pandas per creare il nostro telaio di dati. Il nostro DF DataFrame ha quattro colonne: "Paziente" "gruppo", "età" e "bottiglie di sangue". I valori dei dati ("Ali", "John", "Mike", "Mike", "John", "Ali", "Ali", "Mike") sono contenuti dalla colonna "Paziente" mentre i valori dei dati ("A ',' A ',' b ',' c ',' a ',' c ',' c ',' b '), (21, 22, 24, 21, 20, 24, 22, 22) e ( 2, 3, 1, 1, 2, 3, 2, 1) sono contenuti rispettivamente nelle colonne "Gruppo", "Age" e "Blood_bottles". Supponiamo che dobbiamo determinare la somma dei valori nella colonna "Blood_bottles" raggruppando i valori nella colonna "Gruppo".

Per i dati di gruppo "A", la somma dei valori di "Blood_bottles" è 7. Per i valori di gruppo "B" e "C", la somma dei valori di "Blood_bottles" è rispettivamente 2 e 6. Possiamo anche raggruppare più colonne per determinare la somma per ciascun gruppo.

Come si può osservare, abbiamo superato un elenco di etichette di colonne, i.e., ["paziente", "gruppo"] all'interno della funzione GroupBy () per creare i gruppi di categorie in ciascuna colonna specificata. Per ogni gruppo di colonne specificate, abbiamo determinato la somma dei valori in "Blood_bottles". Ad esempio, "Ali" è nel valori della colonna "Gruppo" A e C. Nel gruppo A, la somma dei valori di "Blood_bottles" per Ali è 2 e 5 nel gruppo "C".

Esempio # 02: Applicazione di più funzioni su una singola colonna di data frame utilizzando GroupBy.funzione agg ()

Aggregazioni multiple possono essere applicate con il metodo "GroupBy ()" utilizzando la funzione Pandas Agg (). Un elenco di richiamabile può essere passato al metodo. Diamo un'occhiata a come possiamo aggregare i nostri dati utilizzando i metodi integrati della libreria Numpy. A differenza dell'esempio precedente, applicheremo più funzioni a una singola colonna del frame dati. Il PD.La funzione DataFrame () verrà utilizzata per creare un Frame Data per questo con almeno una colonna contenente valori numerici.


Il frame dati richiesto è stato creato con una colonna numerica i.e. "Marks" con valori 41, 40, 35, 39, 49, 31, 34 e 42. Ci sono altre 3 colonne "studente", "soggetti" e "grado" nel nostro telaio di dati che possono essere divisi in gruppi utilizzando la funzione GroupBy (). I valori negli "studenti" e "soggetti" sono ("Harry", "Ron", "Harry", "Lana", "Sam", "Ron", "Lana", "Max") e ("C ++" , 'Java', 'Python', 'Python', 'Ai', 'Java', 'C ++', 'Ai'). Mentre il grado di colonna contiene i valori dei dati come stringhe, i.e., ('MS', 'BS', 'BS', 'MS', 'MS', 'MS', 'BS', 'BS'). Supponiamo di dover raggruppare i dati dei "soggetti" della colonna e determinare sia la media che la somma dei "segni" di colonna per ciascun dati raggruppati.

Abbiamo specificato il nome della colonna "Soggetti" come stringa all'interno della funzione GroupBy () per convertire i dati in gruppi di categorie. Per la colonna dei segni, abbiamo usato il metodo Agg () e all'interno della funzione Agg () abbiamo specificato le funzioni numpy NP.somma e np.significa trovare la somma e la media dei marchi di ciascun gruppo di dati nei soggetti di colonna. La somma e il valore medio per il valore di gruppo "Ai" sono 91 e 45.5, rispettivamente. La somma dei segni per il valore "C ++" è 75 e il valore medio è 37.5. Per il gruppo Java, la somma dei marchi è 71 e il valore medio è 35.5, mentre la somma e il valore medio per Python sono rispettivamente 74 e 37.

Esempio # 03: Applicazione di più funzioni sulle più colonne del Frame dati utilizzando GroupBy.funzione agg ()

Invece di applicare diverse funzioni alla colonna di un singolo dati di dati, possiamo applicare più funzioni a diverse colonne numeriche. Possiamo usare un dizionario nella funzione Agg () come input per applicare un metodo di aggregazione specifico alle colonne di diversi dati di dati. Importiamo le librerie panda e numpy prima di creare un telaio di dati con più colonne numeriche.

Ci sono quattro colonne nel frame di dati appena creato con i nomi "Player", "MITER_SCORE", "Hightest_score" e "Posizione". Nella colonna "Player", abbiamo archiviato i nomi di alcuni giocatori come valori di dati di stringa ("Leo", "Alex", "Leo", "Fin", "Leo", "Alex", "Fin", " Pin '), nella colonna' minimo_score 'ci sono punteggi più bassi di giocatori per alcune partite (12, 34, 2, 21, 9, 1, 0, 34), mentre nella colonna' più alto_score 'abbiamo i punteggi più alti dei giocatori (12, 34, 2, 21, 9, 1, 0, 34) e nella colonna "Posizione" Ci sono i nomi dei luoghi in cui i giocatori hanno giocato le loro partite ("Francia", "Inghilterra", "Dubai", " Dubai "," Inghilterra "," Francia "," Dubai "," Francia ").

Supponiamo che dopo aver raggruppato i dati nella colonna "giocatori", dobbiamo trovare la media per i valori di colonna "meno_score" e la somma per i valori dei dati "hightest_score" per ciascun gruppo.

All'interno della funzione Agg (), abbiamo superato un dizionario Python 'Highst_Score': 'Sum', 'Mimon. Si può vedere che il valore raggruppato Alex ha la somma del valore 132 "più alto" e la media del valore "minimo_score" 17.5. Per "pin" la somma dei valori è 199 e la media è 18.3333333 nelle colonne "più alto_score" e "meno_score" rispettivamente. Il valore di gruppo Leo ha un valore di somma di 180 in "più alto_score" e un valore medio di 7.666667 in 'minimo_score'.

Conclusione

In questo tutorial, abbiamo discusso delle funzioni di gruppo () e aggregazione nei panda. Abbiamo anche discusso di come usare il gruppo.funzione agg (). Abbiamo implementato tre esempi in questo articolo per insegnarti come utilizzare una singola funzione di aggregazione su una colonna di dati raggruppando i dati di colonne singole e più, come applicare più funzioni di aggregazione su una singola colonna di un telaio di dati e come applicare più Funzioni di aggregazione sulle più colonne del frame dati utilizzando GroupBy.funzione agg ().