Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Håndtering av Kategoriske Variabler | Forbehandling av Data
Avanserte Teknikker i Pandas

bookHåndtering av Kategoriske Variabler

Nå skal du arbeide med datasettet som ikke inneholder manglende verdier. NaN-verdiene fra kolonnen 'Age' ble erstattet med gjennomsnittet av kolonnen, og NaN-verdien fra kolonnen 'Fare' ble fjernet. Så nå er det på tide å lære hvordan man håndterer kategoriske variabler. Kategorisk betyr at de har noen kategorier. For eksempel, i kolonnen 'Sex', finnes det 'male' og 'female'; eller i kolonnen 'Embarked', finnes det 'Q', 'S' og 'C'.

Hva bør vi gjøre for å beregne antall verdier i hver kategori eller for å finne informasjon om dem?

Du kjenner allerede til .loc[], .isin(), .between() og mange funksjoner, men i pandas finnes det en mer elegant og praktisk måte å gjøre dette på. Bruk funksjonen .get_dummies(). Som et eksempel vil vi bruke den på kolonnen 'Embarked'. Se på implementeringen og resultatet (vi vil vise navnene til 5 tilfeldige passasjerer og de nye kolonnene vi har opprettet).

1234
import pandas as pd data = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/4bf24830-59ba-4418-969b-aaf8117d522e/titanic3.csv', index_col = 0) data = pd.get_dummies(data, columns = ['Embarked']) print(data[['Name', 'Embarked_C', 'Embarked_Q', 'Embarked_S']].sample(5))
copy

La oss undersøke en av de mulige utdataene, spesielt en av de mulige kombinasjonene av fem tilfeldig valgte rader. Du kan bla horisontalt gjennom tabellen for å se alle kolonnene:

Forklaring:

Som et resultat har funksjonen vår delt kolonnen 'Embarked' i tre kolonner: 'Embarked_C', 'Embarked_Q' og 'Embarked_S'. Totalt har vi tre kategorier. Hver passasjer har sin kategori i kolonnen 'Embarked'. Dermed oppretter funksjonen vår tre kolonner som tilsvarer hver kategori, og for hver passasjer fyller den raden i kolonnen med 1 hvis personen opprinnelig var tilknyttet den geografien; ellers settes det 0. Dermed får vi 1 kun i én kolonne.

pd.get_dummies(data, columns = ['Embarked'])
  • pd.get_dummies() – denne funksjonen konverterer kategoriske variabler til dummy-variabler (1 eller 0);
  • data – dataframen du ønsker å bruke;
  • columns = ['Embarked'] – kolonner med kategoriske variabler som du ønsker å gjøre om til dummy-variabler. Merk at det er obligatorisk å sette kolonnenavnene i en liste.
Oppgave

Swipe to start coding

Din oppgave her er å transformere kolonnen 'Sex' til en med dummyvariabler i stedet for kategoriske verdier. Deretter skal du vise summen av verdiene i hver kategori.

Løsning

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 5. Kapittel 6
single

single

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

close

Awesome!

Completion rate improved to 3.03

bookHåndtering av Kategoriske Variabler

Sveip for å vise menyen

Nå skal du arbeide med datasettet som ikke inneholder manglende verdier. NaN-verdiene fra kolonnen 'Age' ble erstattet med gjennomsnittet av kolonnen, og NaN-verdien fra kolonnen 'Fare' ble fjernet. Så nå er det på tide å lære hvordan man håndterer kategoriske variabler. Kategorisk betyr at de har noen kategorier. For eksempel, i kolonnen 'Sex', finnes det 'male' og 'female'; eller i kolonnen 'Embarked', finnes det 'Q', 'S' og 'C'.

Hva bør vi gjøre for å beregne antall verdier i hver kategori eller for å finne informasjon om dem?

Du kjenner allerede til .loc[], .isin(), .between() og mange funksjoner, men i pandas finnes det en mer elegant og praktisk måte å gjøre dette på. Bruk funksjonen .get_dummies(). Som et eksempel vil vi bruke den på kolonnen 'Embarked'. Se på implementeringen og resultatet (vi vil vise navnene til 5 tilfeldige passasjerer og de nye kolonnene vi har opprettet).

1234
import pandas as pd data = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/4bf24830-59ba-4418-969b-aaf8117d522e/titanic3.csv', index_col = 0) data = pd.get_dummies(data, columns = ['Embarked']) print(data[['Name', 'Embarked_C', 'Embarked_Q', 'Embarked_S']].sample(5))
copy

La oss undersøke en av de mulige utdataene, spesielt en av de mulige kombinasjonene av fem tilfeldig valgte rader. Du kan bla horisontalt gjennom tabellen for å se alle kolonnene:

Forklaring:

Som et resultat har funksjonen vår delt kolonnen 'Embarked' i tre kolonner: 'Embarked_C', 'Embarked_Q' og 'Embarked_S'. Totalt har vi tre kategorier. Hver passasjer har sin kategori i kolonnen 'Embarked'. Dermed oppretter funksjonen vår tre kolonner som tilsvarer hver kategori, og for hver passasjer fyller den raden i kolonnen med 1 hvis personen opprinnelig var tilknyttet den geografien; ellers settes det 0. Dermed får vi 1 kun i én kolonne.

pd.get_dummies(data, columns = ['Embarked'])
  • pd.get_dummies() – denne funksjonen konverterer kategoriske variabler til dummy-variabler (1 eller 0);
  • data – dataframen du ønsker å bruke;
  • columns = ['Embarked'] – kolonner med kategoriske variabler som du ønsker å gjøre om til dummy-variabler. Merk at det er obligatorisk å sette kolonnenavnene i en liste.
Oppgave

Swipe to start coding

Din oppgave her er å transformere kolonnen 'Sex' til en med dummyvariabler i stedet for kategoriske verdier. Deretter skal du vise summen av verdiene i hver kategori.

Løsning

Switch to desktopBytt til skrivebordet for virkelighetspraksisFortsett der du er med et av alternativene nedenfor
Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 5. Kapittel 6
single

single

some-alt