Pandas get_dummies

Pandas get_dummies
Metoden for å få dummyvariablene i pandaer ved bruk av get_dummies () -metoden er demonstrert i denne artikkelen. Vi vil diskutere funksjonens primære mål. Vi vil også gå over PD.get_dummies 'syntaks og gi trinn-for-trinn-eksemplene. Dummy -variablene er numeriske variabler som koder for kategoriske data. De to levedyktige verdiene for dummyvariabler er 0 og 1. I dummyvariablene indikerer “1” at en kategori er til stede og “0” representerer kategorien som ikke eksisterer. Disse 0/1 -variablene er også kjent som dummyvariabler. Imidlertid omtaler vi vanligvis dem som "dummy" -variabler. Dette er også kjent som "en varm" koding av kategorisk i maskinlæring.

Hvordan benytte deg av get_dummies () -metoden i pandaer

Ved hjelp av en Pandas -serie, en kolonne eller flere Pandas DataFrame -kolonner, PD.get_dummies () -funksjonen kan generere dummyvariablene. Noen verktøy i datavitenskapen kan bare brukes med de numeriske inndataene. De mange maskinlæringsteknikkene, for eksempel logistikk og lineær regresjon, godtar bare de numeriske inngangsdataene. De gir en feil hvis du prøver å bruke kategoridataene som er basert på strenger. Det betyr at før du bruker slike verktøy, må du kode kategoridataene dine som dummy -variabler (numerisk). La oss se på PD.get_dummies 'syntaks for å forstå hvordan den fungerer.

Syntaks: Pandas.get_dummies (data, prefiks = ingen, prefiks_rep = '_', dummy_na = falsk, kolonner = ingen, sparse = falsk, drop_first = falsk, dtype = ingen)

Hvor;

data: Hvis data blir endret eller manipulert.

prefiks: Streng for å legge til kolonnenavnene til en dataaframe. Når du bruker Get Dummies på en DataFrame, må du passere en liste med en størrelse som tilsvarer det totale antallet av DataFrame -kolonnene. “Ingen” er standardverdien.

prefix_sep: Bruk en separator eller avgrensning når du legger til et prefiks. Det er "som standard.

dummy_na: En ny kolonne er lagt til for å indikere NAN -verdiene. Det er usant som standard hvis falske manglende verdier blir ignorert.

kolonner: DataFrame -kolonnenavn som må kodes. Kolonnene som har en kategori eller objektdatatype, konverteres til “Ingen”. Standardverdien er “Ingen”.

sparsom: Det spesifiserer om en sparesearray (sann) eller en standard numpy matrise skal støtte de dummy-kodede kolonnene (falsk). False er standardverdien.

drop_first: Fra K kategoriske nivåer for å få K-1-dummier, fjern det første nivået.

dtype: Nye kolonnerdatatype. Det kan bare være en datatype. “NP.uint8 ”, er standardverdien.

La oss nå bruke get_dummies () -funksjonen i følgende eksempler:

Eksempel 1: Bruke get_dummies () -funksjonen i Pandas -serien

La oss begynne med å bruke get_dummies () -funksjonen i en Pandas -serie. Vi lager en serie ved hjelp av PD.Serie () funksjon.

Etter å ha importert Pandas -biblioteket, oppretter vi en liste over "navn" med elementene "Mark", "Kane", "Larry", "Mark", ingen, "Larry", "Kane", ingen og "Mark". For å lage en serie blir listen deretter ført inne i PD.Serie () funksjon. Print () -funksjonen brukes til å illustrere “S” -serien. Det er tre kategorier av strengdata eller verdier i serien (Mark, Kane og Larry). Serien inneholder også noen manglende verdier. Nå brukes pandaene Dummies -funksjonen.

PD.get_dummies () oppretter en dataaframe med fire nye variabler som produksjonen: “Kane”, “Larry” og “Mark”. Den nye Kane -variabelen har en verdi på 1 hvor den opprinnelige seriens verdi var “Kane”, mens den andre variabelenes verdier er “0.”Der den opprinnelige serien 'verdien var“ Larry ”, har den nye Larry -variabelen nå en verdi på“ 1 ”mens de andre variabelenes verdier er alle“ 0 ”, og så videre. En enkelt variabel som inneholder tre verdier blir kodet til tre variabler som inneholder 0 eller 1 verdier ved bruk av get_dummies () -metoden. Selv om det presenteres annerledes (i form av 0 og 1 verdier), inkluderer den nye strukturen samme informasjon/data.

Eksempel 2: Bruke get_dummies () -funksjonen i pandas dataaframe

Deretter bruker vi PD.get_dummies () funksjon til DataFrame -kolonnen. La oss lage en Pandas dataaframe først ved hjelp av PD.DataFrame () -funksjonen etter import av pandaer og numpy moduler samme som vi gjorde i det første eksemplet.

Tre kolonner i den medfølgende DataFrame inkluderer navnene "EMP", "Lønn" og "Country."I" EMP "-kolonnen lagrer vi navnene på ansatte (" Jay "," Anna "," Sam "," Eddy "," Jhon "," Maria "," Sara "," Kim "," Jack " , “Will”, “Jerry”). I kolonnelønnen lagres lønningene til ansatte som numeriske verdier (40000, 53000, 44000, 39000, 47000, 34000, 55000, 51000, 42000, 39000, 38000). Kolonnen "Country" inneholder navnene på land der hver ansatt tilhører ("USA", "Frankrike", "USA", "USA", "Russland", "Russland", "Russland", "Frankrike", " Frankrike ”,“ USA ”, NP.nan). Vi kan konvertere landskolonnen, som er en kategorisk kolonne, til en 0 eller 1 dummy -variabel. Vi bruker Pandas get_dummies () -funksjonen på landskolonnen i DF DataFrame.

Først av alt kan det bli lagt merke til at en ny DataFrame er opprettet som et resultat av operasjonen. Den forrige landskolonnen eksisterer ikke lenger i denne nye DataFrame. Det er nå 4 nye kolonner på sin plass: country_france, country_russia og country_usa. Den gamle variabelenes navn (land) er prefiksert til navnene på de nye variablene av get_dummies () -funksjonen som standard som standard. Den nye country_france -kolonnen har en verdi på 1 der kolonneverdien var "Frankrike" i den opprinnelige kolonnen og 0 for de andre variablene. Den nye country_russia -kolonnen har en verdi på 1, mens den har en verdi 0 for de andre variablene der kolonneverdien var "Russland" i den opprinnelige kolonnen. Den nye country_usa -kolonnen har en verdi på 1 der den opprinnelige kolonnens verdi var "USA", og de andre variablene har verdier på 0. Pandas get_dummies () produserte nå en ny variabel 0/1 for hvert nivå i den forrige klassifiserte kolonnen, “Country.”

Eksempel 3: Bruke get_dummies () -funksjonen og dens Drop_first -parameter i en kolonne

Vi bruker nå get_dummies () -metoden på en kategorisk kolonne i DataFrame, men den kategoriske kolonnens første nivå er droppet. Vi setter drop_first = ekte parameter for å gjøre dette. La oss opprette en DataFrame først slik at vi kan bruke get_dummies () -funksjonen på kolonnen.

Som det kan observeres, er kurskolonnen kategorisk og har noen manglende verdier. Nå konverterer vi den kategoriske kolonnen "kurs" til dummyvariablene på 0/1 verdier.

Observer at det nå bare er 2 dummyvariabler i utgangen: Course_Python og Course_react. "Java" -kategorens dummyvariabel er ikke til stede. Når drop_first er satt til sann, vil get_dummies () ikke inkludere dummy -kolonnen for variabelenes første kategori. Det tar bare K - 1 dummy -variabler for å formidle den samme informasjonen når en kategorisk variabel har K gjensidig utelukkende kategorier. Vi kan også inkludere en dummy -variabel for de manglende verdiene ved å spesifisere dummy_na = ekte parameter.

Du kan merke at en dummy -variabel som heter Course_nan også er lagt til av get_dummies () -funksjonen i utgangen. Funksjonens andre parametere kan også brukes til å endre DataFrame -utgangen.

Konklusjon

Vi dekket hvordan vi kan skaffe dummyvariablene i pandaer i denne opplæringen. Vi har sett at get_dummies () kan brukes til å få dummyvariablene. Vi har sett funksjonens syntaks og dens parametere for å forstå dens funksjonalitet. Vi implementerte noen få eksempler for å lære deg hvordan du bruker Get_Dummies () -funksjonen på Pandas DataFrame og Series for å få dummyvariablene. Vi har også sett noen parametere for get_dummy () -funksjonen for å endre resultatene eller output DataFrame.