Panda get_dummies

Panda get_dummies
Il metodo per ottenere le variabili fittizie nei panda usando il metodo get_dummies () è dimostrato in questo articolo. Discuteremo l'obiettivo principale della funzione. Esamineremo anche il PD.Sintassi di Get_Dummies e fornisci gli esempi passo-passo. Le variabili fittizie sono variabili numeriche che codificano i dati categorici. I due valori vitali per le variabili fittizie sono 0 e 1. Nelle variabili fittizie, "1" indica che è presente una categoria e "0" rappresenta la categoria che non esiste. Queste variabili 0/1 sono anche note come variabili fittizie. Tuttavia, di solito ci riferiamo a loro come variabili "fittizie". Questo è anche noto come codifica "one-hot" di categorico nell'apprendimento automatico.

Come utilizzare il metodo get_dummies () in panda

Utilizzando una serie Pandas, una colonna o più colonne Pandas DataFrame, il PD.La funzione get_dummies () può generare le variabili fittizie. Alcuni strumenti nella scienza dei dati possono essere utilizzati solo con i dati di input numerico. Le numerose tecniche di apprendimento automatico, come la regressione logistica e lineare, accettano solo i dati di input numerico. Danno un errore se si tenta di utilizzare i dati di categoria basati su stringhe. Ciò significa che prima di utilizzare tali strumenti, è necessario codificare i dati della categoria come variabili fittizie (numeriche). Diamo un'occhiata al PD.La sintassi di get_dummies per capire come funziona.

Sintassi: panda.get_dummies (Data, prefix = Nessuno, prefix_sep = '_', dummy_na = false, colonne = nessuna, spars = false, drop_first = false, dtype = nessuno)

Dove;

dati: I cui dati vengono modificati o manipolati.

prefisso: Stringa per aggiungere i nomi delle colonne di un frame dati. Quando si utilizza Get Dummies su un frame dati, passare un elenco con una dimensione equivalente al numero totale delle colonne di dati di dati. "Nessuno" è il valore predefinito.

prefix_sep: Utilizzare un separatore o delimitatore quando si aggiunge un prefisso. È "per impostazione predefinita.

Dummy_na: Viene aggiunta una nuova colonna per indicare i valori NAN. È falso per impostazione predefinita se i valori mancanti falsi vengono ignorati.

colonne: I nomi delle colonne dati che devono essere codificati. Le colonne con una categoria o un tipo di dati dell'oggetto vengono convertite in "nessuna". Il valore predefinito è "nessuno".

sparso: Specifica se un sparsearray (vero) o un array numpy standard dovrebbe sostenere le colonne codificate fittizie (false). False è il valore predefinito.

drop_first: Dai livelli categorici K per ottenere manichini K-1, rimuovere il primo livello.

dtype: Tipo di dati delle nuove colonne. Può esserci un solo tipo di dati. Il "np.uint8 ", è il valore predefinito.

Ora, usiamo la funzione get_dummies () nei seguenti esempi:

Esempio 1: usando la funzione get_dummies () nella serie Pandas

Cominciamo usando la funzione get_dummies () in una serie Pandas. Creiamo una serie usando il PD.Funzione serie ().

Dopo aver importato la libreria Pandas, creiamo un elenco di "nomi" con gli elementi "Mark", "Kane", "Larry", "Mark", None, "Larry", "Kane", nessuno e "Mark". Per creare una serie, l'elenco viene quindi passato all'interno del PD.Funzione serie (). La funzione Print () viene utilizzata per illustrare la serie "S". Ci sono 3 categorie di dati o valori stringa nella serie (Mark, Kane e Larry). La serie contiene anche alcuni valori mancanti. Ora, viene utilizzata la funzione Panda Get Dummies.

Il PD.get_dummies () crea un frame dati con quattro nuove variabili come output: "Kane", "Larry" e "Mark". La nuova variabile Kane ha un valore di 1 in cui il valore della serie originale era "Kane", mentre i valori dell'altra variabile sono "0."Laddove il valore della serie originale era" Larry ", la nuova variabile Larry ora ha un valore di" 1 "mentre i valori delle altre variabili sono tutti" 0 "e così via. Una singola variabile che contiene tre valori viene ricodificata in tre variabili contenenti valori 0 o 1 usando il metodo get_dummies (). Sebbene sia presentato in modo diverso (sotto forma di valori 0 e 1), la nuova struttura include le stesse informazioni/dati.

Esempio 2: utilizzando la funzione get_dummies () in Pandas DataFrame

Successivamente, applichiamo il PD.funzione get_dummies () nella colonna DataFrame. Creiamo prima un frame di dati Panda utilizzando il PD.Funzione DataFrame () dopo l'importazione di panda e moduli numpy come abbiamo fatto nel primo esempio.

Tre colonne nel frame dati fornito includono i nomi "EMP", "Stipendio" e "Paese."Nella colonna" EMP ", archiviamo i nomi dei dipendenti (" Jay "," Anna "," Sam "," Eddy "," Jhon "," Maria "," Sara "," Kim "," Jack " , "Will", "Jerry"). Nello stipendio della colonna, gli stipendi dei dipendenti sono archiviati come valori numerici (40000, 53000, 44000, 39000, 47000, 34000, 55000, 51000, 42000, 39000, 38000). La colonna "Paese" contiene i nomi dei paesi da cui appartiene ogni dipendente ("USA", "Francia", "USA", "USA", "Russia", "Russia", "Russia", "Francia", " Francia "," USA ", NP.nan). Possiamo convertire la colonna del paese, che è una colonna categorica, in una variabile fittizia 0 o 1. Applichiamo la funzione Pandas get_dummies () alla colonna del paese nel frame dati DF.

Prima di tutto, si può notare che un nuovo telaio di dati viene creato a seguito dell'operazione. La colonna del paese precedente non esiste più in questo nuovo telaio di dati. Ora ci sono 4 nuove colonne al suo posto: country_france, country_russia e country_usa. Il nome della vecchia variabile (paese) è prefisso ai nomi delle nuove variabili dalla funzione get_dummies () per impostazione predefinita. La nuova colonna Country_france ha un valore di 1 in cui il valore della colonna era "Francia" nella colonna originale e 0 per le altre variabili. La nuova colonna Country_Russia ha un valore di 1, mentre ha un valore 0 per le altre variabili in cui il valore della colonna era "Russia" nella colonna originale. La nuova colonna Country_USA ha un valore di 1 in cui il valore della colonna originale era "USA" e le altre variabili hanno valori di 0. Panda get_dummies () ora ha prodotto una nuova variabile 0/1 per ogni livello della colonna classificata precedente, “Paese."

Esempio 3: usando la funzione get_dummies () e il suo parametro drop_first in una colonna

Ora utilizziamo il metodo get_dummies () su una colonna categorica del frame dati, ma il primo livello della colonna categorica viene eliminato. Impostiamo il parametro drop_first = true per farlo. Creiamo prima un frame dati in modo da poter applicare la funzione get_dummies () alla sua colonna.

Come si può osservare, la colonna del corso è categorica e ha alcuni valori mancanti. Ora, convertiamo la colonna categorica "Corso" nelle variabili fittizie dei valori 0/1.

Osserva che ora ci sono solo 2 variabili fittizie nell'output: Course_Python e Course_Eact. La variabile fittizia della categoria "Java" non è presente. Quando Drop_First è impostato su True, Get_Dummies () non includerà la colonna fittizia per la prima categoria della variabile. Ci vogliono solo variabili fittizie K - 1 per trasmettere le stesse informazioni quando una variabile categorica ha k categorie reciprocamente esclusive. Possiamo anche includere una variabile fittizia per i valori mancanti specificando il parametro Dummy_na = True.

Puoi notare che una variabile fittizia denominata Course_nan viene aggiunta anche dalla funzione get_dummies () nell'output. Gli altri parametri della funzione possono essere utilizzati anche per modificare l'output di dati.

Conclusione

Abbiamo coperto come ottenere le variabili fittizie in panda in questo tutorial. Abbiamo visto che i get_dummies () possono essere usati per ottenere le variabili fittizie. Abbiamo visto la sintassi della funzione e i suoi parametri per comprendere la sua funzionalità. Abbiamo implementato alcuni esempi per insegnarti come utilizzare la funzione get_dummies () su Pandas DataFrame e Series per ottenere le variabili fittizie. Inoltre, abbiamo visto alcuni parametri della funzione get_dummy () per modificare i risultati o l'output di dati.