panda

Come usare Raggruppa per in Pandas Python

Come usare Raggruppa per in Pandas Python
Il gruppo Panda per funzione viene utilizzato per raggruppare oggetti o colonne DataFrames in base a condizioni o regole particolari. Utilizzando la funzione groupby, la gestione del dataset è più semplice. Tuttavia, tutti i record correlati possono essere organizzati in gruppi. Utilizzando la libreria Pandas, puoi implementare il gruppo Pandas per funzione per raggruppare i dati in base a diversi tipi di variabili. La maggior parte degli sviluppatori ha utilizzato tre tecniche di base per il raggruppamento per funzione. Innanzitutto, la suddivisione in cui i dati si dividono in gruppi in base ad alcune condizioni particolari. Quindi, applica determinate funzioni a questi gruppi. Alla fine, combina l'output sotto forma di struttura dati.

In questo articolo, esamineremo gli usi di base di un gruppo per funzione in panda's python. Tutti i comandi vengono eseguiti nell'editor Pycharm.

Discutiamo il concetto principale del gruppo con l'aiuto dei dati del dipendente. Abbiamo creato un dataframe con alcuni utili dettagli dei dipendenti (Employee_Names, Designation, Employee_city, Age).

Concatenazione di stringhe utilizzando Raggruppa per funzione

Usando la funzione groupby, puoi concatenare le stringhe. Gli stessi record possono essere uniti con ',' in una singola cella.

Esempio

Nell'esempio seguente, abbiamo ordinato i dati in base alla colonna "Designazione" dei dipendenti e ci siamo uniti ai Dipendenti che hanno la stessa designazione. La funzione lambda viene applicata su 'Employees_Name'.

importa panda come pd
df = pd.DataFrame(
'Employee_Names':['Sam', 'Ali' , 'Umar', 'Raees', 'Mahwish', 'Hania', 'Mirha', 'Maria', 'Hamza'],
'Designazione':['Manager', 'Staff', 'Responsabile IT', 'Responsabile IT', 'HR', 'Staff', 'HR', 'Staff', 'Team Lead'],
'Employee_city':['Karachi', 'Karachi', 'Islamabad', 'Islamabad', 'Quetta', 'Lahore', 'Faislabad', 'Lahore', 'Islamabad'],
'Età_impiegato':[60, 23, 25, 32, 43, 26, 30, 23, 35]
)
df1=df.groupby("Designazione")['Nomi_impiegati'].apply(lambda Employee_Names: ','.join(Nomi_Dipendenti))
stampa(df1)

Quando viene eseguito il codice precedente, viene visualizzato il seguente output:

Ordinamento dei valori in ordine crescente

Usa l'oggetto groupby in un normale dataframe chiamando '.to_frame()' e poi usa reset_index() per reindicizzare. Ordina i valori delle colonne chiamando sort_values().

Esempio

In questo esempio, ordineremo l'età del dipendente in ordine crescente. Utilizzando il seguente pezzo di codice, abbiamo recuperato 'Employee_Age' in ordine crescente con 'Employee_Names'.

importa panda come pd
df = pd.DataFrame(
'Employee_Names':['Sam', 'Ali' , 'Umar', 'Raees', 'Mahwish', 'Hania', 'Mirha', 'Maria', 'Hamza'],
'Designazione':['Manager', 'Staff', 'Responsabile IT', 'Responsabile IT', 'HR', 'Staff', 'HR', 'Staff', 'Team Lead'],
'Employee_city':['Karachi', 'Karachi', 'Islamabad', 'Islamabad', 'Quetta', 'Lahore', 'Faislabad', 'Lahore', 'Islamabad'],
'Età_impiegato':[60, 23, 25, 32, 43, 26, 30, 23, 35]
)
df1=df.groupby('Employee_Names')['Employee_Age'].somma().incorniciare().reset_index().sort_values(by='Età_dipendente')
stampa(df1)

Utilizzo di aggregati con groupby

Sono disponibili numerose funzioni o aggregazioni che è possibile applicare a gruppi di dati come count(), sum(), mean(), median(), mode(), std(), min(), max().

Esempio

In questo esempio, abbiamo utilizzato una funzione 'count()' con groupby per contare i dipendenti che appartengono alla stessa 'Employee_city'.

importa panda come pd
df = pd.DataFrame(
'Employee_Names':['Sam', 'Ali' , 'Umar', 'Raees', 'Mahwish', 'Hania', 'Mirha', 'Maria', 'Hamza'],
'Designazione':['Manager', 'Staff', 'Responsabile IT', 'Responsabile IT', 'HR', 'Staff', 'HR', 'Staff', 'Team Lead'],
'Employee_city':['Karachi', 'Karachi', 'Islamabad', 'Islamabad', 'Quetta', 'Lahore', 'Faislabad', 'Lahore', 'Islamabad'],
'Età_impiegato':[60, 23, 25, 32, 43, 26, 30, 23, 35]
)
df1=df.groupby('Impiegato_città').contare()
stampa(df1)

Come puoi vedere il seguente output, nelle colonne Designation, Employee_Names e Employee_Age, conta i numeri che appartengono alla stessa città:

Visualizza i dati utilizzando groupby

Usando "import matplotlib".pyplot', puoi visualizzare i tuoi dati in grafici.

Esempio

Qui, l'esempio seguente visualizza 'Employee_Age' con 'Employee_Nmaes' dal DataFrame dato utilizzando l'istruzione groupby.

importa panda come pd
import matplotlib.pyplot come plt
dataframe = pd.DataFrame(
'Employee_Names':['Sam', 'Ali' , 'Umar', 'Raees', 'Mahwish', 'Hania', 'Mirha', 'Maria', 'Hamza'],
'Designazione':['Manager', 'Staff', 'Responsabile IT', 'Responsabile IT', 'HR', 'Staff', 'HR', 'Staff', 'Team Lead'],
'Employee_city':['Karachi', 'Karachi', 'Islamabad', 'Islamabad', 'Quetta', 'Lahore', 'Faislabad', 'Lahore', 'Islamabad'],
'Età_impiegato':[60, 23, 25, 32, 43, 26, 30, 23, 35]
)
per favore.clf()
dataframe.groupby('Nomi_Dipendenti').somma().plot(tipo='bar')
per favore.mostrare()

Esempio

Per tracciare il grafico in pila usando groupby, gira 'stacked=true' e usa il seguente codice:

importa panda come pd
import matplotlib.pyplot come plt
df = pd.DataFrame(
'Nomi_impiegati':['Sam', 'Ali' , 'Umar', 'Raees', 'Mahwish', 'Hania', 'Mirha', 'Maria', 'Hamza'],
'Designazione':['Manager', 'Staff', 'Responsabile IT', 'Responsabile IT', 'HR', 'Staff', 'HR', 'Staff', 'Team Lead'],
'Employee_city':['Karachi', 'Karachi', 'Islamabad', 'Islamabad', 'Quetta', 'Lahore', 'Faislabad', 'Lahore', 'Islamabad'],
'Età_impiegato':[60, 23, 25, 32, 43, 26, 30, 23, 35]
)
df.groupby(['Impiegato_città','Impiegato_Nomi']).dimensione().smontare().plot(kind='bar',stacked=True, fontsize='6')
per favore.mostrare()

Nel grafico sotto riportato, il numero di dipendenti impilati che appartengono alla stessa città.

Cambia il nome della colonna con il gruppo per

Puoi anche modificare il nome della colonna aggregata con un nuovo nome modificato come segue:

importa panda come pd
import matplotlib.pyplot come plt
df = pd.DataFrame(
'Nomi_impiegati':['Sam', 'Ali' , 'Umar', 'Raees', 'Mahwish', 'Hania', 'Mirha', 'Maria', 'Hamza'],
'Designazione':['Manager', 'Staff', 'Responsabile IT', 'Responsabile IT', 'HR', 'Staff', 'HR', 'Staff', 'Team Lead'],
'Employee_city':['Karachi', 'Karachi', 'Islamabad', 'Islamabad', 'Quetta', 'Lahore', 'Faislabad', 'Lahore', 'Islamabad'],
'Età_impiegato':[60, 23, 25, 32, 43, 26, 30, 23, 35]
)
df1 = df.groupby('Employee_Names')['Designation'].somma().reset_index(name='Denominazione_Dipendente')
stampa(df1)

Nell'esempio sopra, il nome 'Designazione' è cambiato in 'Impiegato_Designazione'.

Recupera gruppo per chiave o valore

Usando l'istruzione groupby, puoi recuperare record o valori simili dal dataframe.

Esempio

Nell'esempio riportato di seguito, abbiamo dati di gruppo basati su "Designazione". Quindi, il gruppo 'Staff' viene recuperato utilizzando il tasto .getgroup('Personale').

importa panda come pd
import matplotlib.pyplot come plt
df = pd.DataFrame(
'Employee_Names':['Sam', 'Ali' , 'Umar', 'Raees', 'Mahwish', 'Hania', 'Mirha', 'Maria', 'Hamza'],
'Designazione':['Manager', 'Staff', 'Responsabile IT', 'Responsabile IT', 'HR', 'Staff', 'HR', 'Staff', 'Team Lead'],
'Employee_city':['Karachi', 'Karachi', 'Islamabad', 'Islamabad', 'Quetta', 'Lahore', 'Faislabad', 'Lahore', 'Islamabad'],
'Età_impiegato':[60, 23, 25, 32, 43, 26, 30, 23, 35]
)
valore_estratto = df.groupby('Denominazione')
print(extract_value.get_group('Personale'))

Il seguente risultato viene visualizzato nella finestra di output:

Aggiungi valore alla lista del gruppo group

Dati simili possono essere visualizzati sotto forma di elenco utilizzando l'istruzione groupby. Innanzitutto, raggruppa i dati in base a una condizione. Quindi, applicando la funzione, puoi facilmente inserire questo gruppo nelle liste.

Esempio

In questo esempio, abbiamo inserito record simili nell'elenco dei gruppi. Tutti i dipendenti vengono suddivisi nel gruppo in base a 'Employee_city', quindi applicando la funzione 'Lambda', questo gruppo viene recuperato sotto forma di elenco.

importa panda come pd
df = pd.DataFrame(
'Nomi_impiegati':['Sam', 'Ali' , 'Umar', 'Raees', 'Mahwish', 'Hania', 'Mirha', 'Maria', 'Hamza'],
'Designazione':['Manager', 'Staff', 'Responsabile IT', 'Responsabile IT', 'HR', 'Staff', 'HR', 'Staff', 'Team Lead'],
'Employee_city':['Karachi', 'Karachi', 'Islamabad', 'Islamabad', 'Quetta', 'Lahore', 'Faislabad', 'Lahore', 'Islamabad'],
'Età_impiegato':[60, 23, 25, 32, 43, 26, 30, 23, 35]
)
df1=df.groupby('Employee_city')['Employee_Names'].apply(lambda group_series: group_series.elencare()).reset_indice()
stampa(df1)

Utilizzo della funzione Trasforma con groupby

I dipendenti vengono raggruppati in base alla loro età, questi valori vengono sommati e utilizzando la funzione 'trasforma' viene aggiunta una nuova colonna nella tabella:

importa panda come pd
df = pd.DataFrame(
'Employee_Names':['Sam', 'Ali' , 'Umar', 'Raees', 'Mahwish', 'Hania', 'Mirha', 'Maria', 'Hamza'],
'Designazione':['Manager', 'Staff', 'Responsabile IT', 'Responsabile IT', 'HR', 'Staff', 'HR', 'Staff', 'Team Lead'],
'Employee_city':['Karachi', 'Karachi', 'Islamabad', 'Islamabad', 'Quetta', 'Lahore', 'Faislabad', 'Lahore', 'Islamabad'],
'Età_impiegato':[60, 23, 25, 32, 43, 26, 30, 23, 35]
)
df['somma']=df.groupby(['Nomi_Impiegato'])['Età_Impiegato'].trasforma('somma')
stampa (df)

Conclusione

Abbiamo esplorato i diversi usi dell'istruzione groupby in questo articolo. Abbiamo mostrato come è possibile dividere i dati in gruppi e, applicando diverse aggregazioni o funzioni, è possibile recuperare facilmente questi gruppi.

Come modificare il puntatore del mouse e le dimensioni, il colore e lo schema del cursore su Windows 10
Il puntatore del mouse e il cursore in Windows 10 sono aspetti molto importanti del sistema operativo. Questo si può dire anche per altri sistemi oper...
Motori di gioco gratuiti e open source per lo sviluppo di giochi Linux
Questo articolo tratterà un elenco di motori di gioco gratuiti e open source che possono essere utilizzati per lo sviluppo di giochi 2D e 3D su Linux....
Tutorial Shadow of the Tomb Raider per Linux
Shadow of the Tomb Raider è la dodicesima aggiunta alla serie Tomb Raider, un franchise di giochi d'azione e avventura creato da Eidos Montreal. Il gi...