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

bookHåndtering af Kategoriske Variabler

Nu skal du arbejde med datasættet, der ikke indeholder manglende værdier. NaN-værdierne fra kolonnen 'Age' er blevet erstattet med gennemsnittet af kolonnen, og NaN-værdien fra kolonnen 'Fare' er blevet slettet. Så nu er det tid til at lære, hvordan man håndterer kategoriske variabler. Kategorisk betyder, at de har nogle kategorier. For eksempel er der i kolonnen 'Sex' både 'male' og 'female'; eller i kolonnen 'Embarked' er der 'Q', 'S' og 'C'.

Hvad skal vi gøre for at beregne antallet af værdier i hver kategori eller for at finde information om dem?

Du kender allerede .loc[], .isin(), .between() og mange funktioner, men i pandas findes der en mere elegant og bekvem metode til dette. Brug funktionen .get_dummies(). Som eksempel anvender vi den på kolonnen 'Embarked'. Se implementeringen og resultatet (vi viser 5 tilfældige passagerers navne og de nye kolonner, vi har oprettet).

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

Lad os undersøge en af de mulige outputs, specifikt en af de mulige kombinationer af fem tilfældigt udvalgte rækker. Du kan rulle vandret gennem tabellen for at se alle kolonnerne:

Forklaring:

Som resultat har vores funktion opdelt kolonnen 'Embarked' i tre kolonner: 'Embarked_C', 'Embarked_Q' og 'Embarked_S'. I alt har vi tre kategorier. Hver passager har deres kategori i kolonnen 'Embarked'. Derfor opretter vores funktion tre kolonner, der svarer til hver kategori, og for hver passager udfylder den rækken i kolonnen med 1, hvis personen oprindeligt var relateret til den pågældende geografi; ellers angives 0. Dermed får vi 1 i kun én kolonne.

pd.get_dummies(data, columns = ['Embarked'])
  • pd.get_dummies() – denne funktion konverterer kategoriske variabler til dummy-variabler (1 eller 0);
  • data – det data frame, du ønsker at bruge;
  • columns = ['Embarked'] – kolonner med kategoriske variabler, som du vil omdanne til dummy-variabler. Bemærk, det er obligatorisk at sætte kolonnenavne i en liste.
Opgave

Swipe to start coding

Din opgave her er at omdanne kolonnen 'Sex' til en med dummyvariabler i stedet for kategoriske værdier. Udskriv derefter summen af værdierne i hver kategori.

Løsning

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 5. Kapitel 6
single

single

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

Suggested prompts:

Can you explain why we use dummy variables instead of keeping the original categorical columns?

How can I use get_dummies() for multiple columns at once?

What should I do if my categorical column has many unique values?

close

Awesome!

Completion rate improved to 3.03

bookHåndtering af Kategoriske Variabler

Stryg for at vise menuen

Nu skal du arbejde med datasættet, der ikke indeholder manglende værdier. NaN-værdierne fra kolonnen 'Age' er blevet erstattet med gennemsnittet af kolonnen, og NaN-værdien fra kolonnen 'Fare' er blevet slettet. Så nu er det tid til at lære, hvordan man håndterer kategoriske variabler. Kategorisk betyder, at de har nogle kategorier. For eksempel er der i kolonnen 'Sex' både 'male' og 'female'; eller i kolonnen 'Embarked' er der 'Q', 'S' og 'C'.

Hvad skal vi gøre for at beregne antallet af værdier i hver kategori eller for at finde information om dem?

Du kender allerede .loc[], .isin(), .between() og mange funktioner, men i pandas findes der en mere elegant og bekvem metode til dette. Brug funktionen .get_dummies(). Som eksempel anvender vi den på kolonnen 'Embarked'. Se implementeringen og resultatet (vi viser 5 tilfældige passagerers navne og de nye kolonner, vi har oprettet).

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

Lad os undersøge en af de mulige outputs, specifikt en af de mulige kombinationer af fem tilfældigt udvalgte rækker. Du kan rulle vandret gennem tabellen for at se alle kolonnerne:

Forklaring:

Som resultat har vores funktion opdelt kolonnen 'Embarked' i tre kolonner: 'Embarked_C', 'Embarked_Q' og 'Embarked_S'. I alt har vi tre kategorier. Hver passager har deres kategori i kolonnen 'Embarked'. Derfor opretter vores funktion tre kolonner, der svarer til hver kategori, og for hver passager udfylder den rækken i kolonnen med 1, hvis personen oprindeligt var relateret til den pågældende geografi; ellers angives 0. Dermed får vi 1 i kun én kolonne.

pd.get_dummies(data, columns = ['Embarked'])
  • pd.get_dummies() – denne funktion konverterer kategoriske variabler til dummy-variabler (1 eller 0);
  • data – det data frame, du ønsker at bruge;
  • columns = ['Embarked'] – kolonner med kategoriske variabler, som du vil omdanne til dummy-variabler. Bemærk, det er obligatorisk at sætte kolonnenavne i en liste.
Opgave

Swipe to start coding

Din opgave her er at omdanne kolonnen 'Sex' til en med dummyvariabler i stedet for kategoriske værdier. Udskriv derefter summen af værdierne i hver kategori.

Løsning

Switch to desktopSkift til skrivebord for at øve i den virkelige verdenFortsæt der, hvor du er, med en af nedenstående muligheder
Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 5. Kapitel 6
single

single

some-alt