PANDAS GROUPBY APPLICARE

PANDAS GROUPBY APPLICARE
La libreria Python più popolare per la manipolazione e l'analisi dei dati sono i panda. L'analisi dei dati spesso richiede che i dati siano divisi in gruppi per eseguire operazioni diverse su ciascun gruppo. La strategia di commbina a trappola divisa viene utilizzata dalla funzione GroupBy in Panda. Ciò comporta la separazione di un oggetto, l'uso di funzioni sull'oggetto e la combinazione dei risultati. In questo post per manipolare i dati raggruppati in vari modi, verrà utilizzata la funzione GroupBy. Uno dei metodi comunemente utilizzati utilizzati per la preelaborazione dei dati è il fare domanda a() metodo. L'applicazione di una funzione a ogni elemento in una serie di panda e alla colonna o alla riga di ogni frame dati in panda è reso più semplice. Il metodo Applica () nei panda sarà trattato in questo articolo insieme alla funzione GroupBy ().

Caldo per utilizzare la funzione Applica () su dati raggruppati

Possiamo utilizzare la funzione Applica () per varie funzioni alle righe e alle colonne del frame dati. Gli oggetti forniti alla funzione sono oggetti di serie il cui valore dell'indice è l'indice delle righe di dati (axis = 0) o il numero di colonne nel frame dati (axis = 1). L'uso di questo metodo restituirà il frame dati o la serie lungo l'asse specificato. Se vogliamo cambiare una determinata colonna senza modificare altre colonne, possiamo usare questa funzione. IL Dataframe.fare domanda a() La sintassi del metodo è riportata di seguito.

Sintassi: DataFrame.Applica (func, axis = 0, raw = false, result_type = nessuno, args = (), ** kwds)

Dove:

Func: Rappresenta la funzione che verrà applicata a ciascuna riga o colonna

asse: Specifica la direzione lungo la quale verrà applicato il metodo: 0 o "indice" applica la funzione a tutte le colonne, mentre 1 o "colonne" applica la funzione a tutte le righe.

risultato_type: Offre le opzioni "Riduci", "espandere", "trasmissione" e "nessuno". Lo "nessuno" è il valore predefinito.

Questi funzionano solo con l'asse = 1 (colonne):

espandere: Le colonne verranno create dai risultati che assomigliano agli elenchi.

ridurre: Contrariamente a "estendere", questo restituisce una serie ogni volta che è fattibile piuttosto che espandere i risultati che assomigliano alle elenchi.

trasmissione: Le colonne e l'indice originali saranno mantenuti e trasmetteranno i risultati al telaio di dati nella sua forma originale.

Diamo anche un'occhiata alla sintassi della funzione GroupBy () per raggruppare i dati:

Sintassi: DataFrame.GroupBy (by = Nessuno, axis = 0, level = nessuno, as_index = true, sort = true, group_keys = true, squeeze = nodeFault.no_default, osservato = false, dropna = true)

di: funzione, elenco di etichette, mappatura o etichetta. Per il gruppo, viene utilizzato per creare i gruppi. I gruppi saranno determinati dai valori o serie di DICT se uno di questi viene fornito. Utilizza i valori così com'è per generare i gruppi se viene fornito un ndarray o un elenco con una lunghezza uguale all'asse scelto. Da raggruppare per le colonne di dati in se stessi, un elenco di etichette o una singola etichetta può essere dato/superato. Tieni presente che ogni tupla è vista come una chiave (singolo).

asse: 'indice' o 0, 'colonne' o 1, 0 per impostazione predefinita. Diviso lungo colonne o righe.

livello: nome del livello, sequenza di tale o int. predefinito nessuno. I dati di gruppo si basano su un livello o livelli specifici se l'indice dell'asse è un multiindex.

as_index: bool, è vero per impostazione predefinita. Restituisci un oggetto con i nomi dei gruppi come indice per l'output aggregato. Applicabile solo all'input DataFrame. In effetti, l'output raggruppato in stile "SQL" è "come indice = false".

ordinare: bool, è vero per impostazione predefinita. Tasti di gruppo in ordine. Disattivando questo, le tue prestazioni miglioreranno.

group_keys: bool, è vero per impostazione predefinita. Aggiungi le chiavi di gruppo all'indice quando si chiama applicare per identificare le parti.

stretta: bool, è falso per impostazione predefinita. Se possibile, ridurre la dimensionalità del tipo di ritorno; In caso contrario, restituisce un tipo coerente.

osservato: bool, è falso per impostazione predefinita. Solo se uno o più grouper è categorico si applicherà. Visualizza il valore di output solo per i raggruppatori categorici se vero e mostra tutti i valori di output se false.

Dropna: bool, è vero per impostazione predefinita. Se True e i tasti di gruppo hanno valori NA, i valori NA e la riga e la colonna corrispondenti verranno rimossi.

Dimostriamo alcuni esempi che ti aiuteranno a imparare a utilizzare la funzione GroupBy () e applicare () insieme a Panda.

Esempio n. 1: determinare la frequenza dei valori in una colonna di dati dati

Per trovare la frequenza dei valori in una colonna di dati, dobbiamo prima richiedere un frame dati. Il frame dati verrà creato utilizzando il PD.Funzione dataframe ().

Abbiamo creato un frame dati. Troviamo la frequenza di valori di dati distinti nel "gruppo" della colonna. Prima di trovare la frequenza, raggrupperemo prima i dati con l'aiuto del metodo GroupBy (). Quindi, definiremo una funzione all'interno della funzione Applica () per trovare la frequenza.

I dati nel "gruppo" della colonna sono ora raggruppati. Per trovare la frequenza, abbiamo usato funzioni e attributi integrati dei panda: count () e forma []. All'interno della funzione Applicazione, il file Lambda La funzione viene utilizzata per eseguire la funzione o l'espressione specificata. La funzione ha determinato la frequenza per la categoria X è 0.57 e per y è 0.42. Il gruppo X appare nel 57% delle file; mentre il gruppo Y appare nel 42%.

Esempio n. 2: determinare il valore massimo in una colonna di dati di dati

Possiamo utilizzare la funzione GroupBy () insieme alla funzione Applica () per determinare i valori massimi per ciascun dati raggruppati. Ancora una volta, creeremo un frame dati in modo da poter trovare il valore massimo dopo aver raggruppato i dati della colonna.

Innanzitutto, raggrupperemo i dati del "team" della colonna per creare categorie. Quindi, utilizzeremo la funzione Applica () all'interno della quale utilizzeremo la funzione di aggregazione "max" per trovare il valore massimo nei "punti" della colonna per ciascuna categoria.

La squadra di colonne è raggruppata in tre categorie. Quindi, la funzione Applica () ha determinato il valore massimo della colonna "punto" per ciascuna categoria. La categoria "asso" ha il valore massimo di 14; mentre 15 e 17 sono i valori massimi per i gruppi beta e campioni, rispettivamente.

Esempio n. 3: eseguire i calcoli personalizzati utilizzando la funzione Applica () dopo aver raggruppato i dati

Invece di utilizzare solo funzioni di aggregazione integrata dei panda possiamo anche definire funzioni personalizzate o creare un'espressione all'interno del fare domanda a() funzione per eseguire calcoli personalizzati. Creiamo un frame dati da cui raggrupperemo i dati di una colonna specifica. Quindi, eseguiremo calcoli su di esso.

Calcoliamo la differenza media tra i valori per ciascun gruppo.

I dati nella colonna "Studente" sono raggruppati in tre categorie "Billy", "Jim" e "Mandy". La differenza media tra la colonna "Total_Marks" e "Ottensd_marks" si ottiene sottraendo i valori della colonna "Ottenuto_marks" dalla colonna "Total_marks" e applicando la funzione media (). Il valore medio di differenza per la categoria "Billy" è 3.66. Considerando che la differenza media per i valori raggruppati Jim e Mandy è 3 e 4, rispettivamente.

Conclusione

In questo tutorial, abbiamo discusso di come utilizzare GroupBy () e applicare () le funzioni insieme nei panda. Abbiamo visto la sintassi di entrambe le funzioni insieme ai loro parametri per comprendere la loro funzionalità. Abbiamo implementato alcuni esempi in questo tutorial per insegnarti come è possibile utilizzare le funzioni GroupBy () e applicare () utilizzando le funzioni integrate o definendo le funzioni personalizzate in Panda.