Panda Groupby Media

Panda Groupby Media



Quando aggiungiamo due o più valori insieme e la loro somma viene divisa per il numero totale di valori sommati, il risultato è una media. Pandas Mean restituisce la media dei dati o del valore lungo un determinato asse. Una serie con la media su un asse verrà restituita dai panda se il metodo mean() viene applicato a un dataframe. I panda restituiscono un valore numerico (numero singolo) se 'mean()' viene utilizzato su una serie. Le funzioni possono essere applicate alle categorie dopo aver creato i gruppi di categorie. È un'idea semplice ma una tecnica altamente efficace che viene spesso applicata nella scienza dei dati. Ci consente di creare un riepilogo dei dati per ciascun gruppo, applicare modifiche specifiche del gruppo ed eseguire il filtraggio dei dati. Con la funzione groupby(), è possibile dividere l'oggetto, applicare una funzione e quindi combinare i prodotti. È possibile raggruppare set di dati di grandi dimensioni con questo e eseguire operazioni sui gruppi.

Come utilizzare il metodo groupby.mean() in Pandas?

Per calcolare la media di un dataframe o la media di colonne specifiche di un dataframe, possiamo usare la funzione groupby.mean(). Dimostreremo come usarlo nei seguenti esempi.







Esempio n. 01: determinare la media di una singola colonna intera raggruppando i dati di una singola colonna

Usando la funzione pd.DataFrame(), creeremo prima un dataframe in modo da poter dividere i dati della colonna o delle colonne del dataframe in gruppi e quindi trovare il loro valore medio. Prima di creare il frame di dati, dobbiamo importare il modulo pandas insieme alla libreria numpy.





Come si può vedere, abbiamo creato il nostro dataframe utilizzando il dizionario panda. Abbiamo 3 colonne nel nostro dataframe df, ovvero 'articoli', 'produttore' e 'quantità'. Nella colonna 'articoli' abbiamo memorizzato i valori ('camicia', 'cravatta', 'pantaloni', 'camicia', 'cravatta', 'pantaloni', 'camicia', 'pantaloni', 'pantaloni', ' pareggio'), mentre le colonne 'produttore' e 'quantità' contenenti i valori ('italia', 'francia', 'cina', 'francia', 'cina', 'italia', 'cina', 'italia', rispettivamente 'france', 'china') e (13, 16, 21, 32, 26, 41, 24, 42, 12, 15). Raggruppiamo i valori nella colonna del produttore e determiniamo il valore della quantità media per ciascun produttore distinto.





Il valore del produttore 'cina' ha un valore medio della quantità di 21,5, il valore medio della quantità per 'francia' è 20,0 e il valore medio della quantità per 'Italia' è 32,0. Possiamo anche specificare un indice per l'output usando la funzione reset_index con la funzione groupby.mean().



Esempio n. 02: trova la media di una singola colonna mobile raggruppando i dati di una singola colonna

Abbiamo visto come possiamo trovare la media della colonna intera dopo aver raggruppato i dati. Ora proviamo un'altra colonna del tipo di dati come float. Verrà creato un dataframe con almeno una colonna con valori float utilizzando la funzione pd.DataFrame().

Inserendo un dizionario all'interno di pd.DataFrame(), abbiamo creato un dataframe con tre colonne. La colonna 'nome' memorizza i nomi di alcuni giocatori casuali ('Sam', 'Jay', 'Leo', 'Mike', 'Will', 'Billy', 'Jhonny', 'Lara', 'Hanna', 'Tony'), la colonna 'squadra' che rappresenta la squadra a cui appartiene ogni giocatore ('A', 'A', 'B',  'A', 'B', 'A', 'C', 'B ', 'C', 'C') e la colonna 'altezza' memorizza le altezze di ciascun giocatore come valore float (5.6, 5.4, 6.3, 5.2, 5.5, 6.4, 5.6, 5.8, 6.0, 5.2). Raggruppiamo i dati nella colonna 'squadra' e determiniamo il valore medio dell'altezza per ogni valore distinto di 'squadra'.

Puoi vedere che il valore medio dell'altezza dei giocatori della squadra A è 5,65, mentre l'altezza media dei giocatori delle squadre B e C è rispettivamente 5,866 e 5,6.

Esempio n. 03: determinare la media di più colonne utilizzando la funzione groupby.mean()

Negli esempi precedenti, abbiamo determinato la media di una singola colonna. Tuttavia, è anche possibile determinare la media di numerose colonne per ciascun gruppo. Creiamo un dataframe con più di una colonna numerica, dopo aver importato i panda e i moduli numpy.

Nel dataframe appena creato, ci sono tre colonne con le etichette 'nome', 'punteggio' e 'corrispondenze'. I nomi delle colonne con i valori dei dati come una stringa ('Ron', 'Jim', 'Dany', 'Jim', 'Jim', 'Dany', 'Ron', 'Ron', 'Dany', 'Jim' ), mentre il 'punteggio' e le 'corrispondenze' sono costituiti da dati numerici come (3, 4, 2, 4, 1, 5, 2, 3, 1, 2) e (2, 3, 1, 2, 1, 3 , 4, 1, 2, 1). Ora troviamo la media delle colonne 'punteggio' e 'corrispondenze' dopo aver raggruppato i dati della colonna 'nome'. La funzione groupby.mean() verrà utilizzata per questo.

Si può notare che il gruppo 'Dany' ha un punteggio medio di 2,66 in 2,00 partite. Il gruppo Jim ha un punteggio medio di 2,75 e il valore medio delle partite giocate è 1,75. Mentre il gruppo 'Ron' ha un punteggio medio di 2,66 e il valore medio delle partite giocate è 2,33.

La media di un gruppo di categorie in base all'oggetto può anche essere calcolata utilizzando il metodo agg(). Forniremo la media come argomento alla funzione agg(). Per aggregare usando una o più operazioni sull'asse dato, possiamo usare la funzione agg().

L'output è lo stesso di prima.

Esempio n. 04: determinare la media di colonne specifiche raggruppando più colonne

Negli esempi 1, 2 e 3 abbiamo raggruppato i valori oi dati di una singola colonna. Ora raggrupperemo più colonne utilizzando l'elenco delle etichette di colonna all'interno della funzione groupby(), quindi troveremo il valore medio per ciascun gruppo. Un dizionario 'd' verrà passato all'interno della funzione pd.Dataframe() come input per creare il dataframe.

Abbiamo creato il dataframe richiesto. La colonna 'sport' memorizza il nome di alcuni sport ('Badminton', 'calcio', 'tennis', 'basket', 'calcio', 'tennis', 'basket', 'calcio', 'Badminton', ' basket', 'basket', 'tennis'), i nomi dei paesi ('Cina', 'Russia', 'Italia', 'Spagna', 'Russia', 'Italia', 'Cina', 'Italia', ' Spagna', 'Cina', 'Russia', 'Italia') sono memorizzati nella colonna 'Paese'. Mentre nella colonna 'vittoria' abbiamo memorizzato il numero di partite vinte da ciascuna nazione in ogni sport (13, 10, 6, 7, 10, 12, 7, 11, 8, 13, 11, 6). Usiamo la funzione groupby.mean() per trovare la media dei valori della colonna 'vincita' raggruppando le colonne 'sport' e 'paese'.

La funzione ha determinato con successo le medie dei valori della colonna 'vittoria' per ogni sport nel paese. Il dataframe raggruppato può essere ripristinato utilizzando la funzione reset_index(), che genera anche un nuovo indice, assegnandogli una struttura dataframe appropriata.

Viene aggiunto un indice per ogni riga di dataframe. Per organizzare i risultati in una tabella attraente, possiamo anche usare la funzione pivot().

Conclusione

In questo tutorial, abbiamo discusso qual è la media o media dei numeri e come trovare la media di una colonna specifica (una o più) dopo aver raggruppato la colonna o le colonne di un dataframe. Abbiamo implementato alcuni esempi in questo articolo per insegnarti come determinare la media di una singola colonna intera o float raggruppando i dati di una singola colonna; come determinare la media di più colonne usando la funzione groupby.mean(); e anche come determinare la media di colonne specifiche raggruppando le colonne multiple.