Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Hantering av Kategoriska Variabler | Förbehandling av Data
Avancerade tekniker i pandas

bookHantering av Kategoriska Variabler

Nu kommer du att arbeta med en datamängd som inte innehåller några saknade värden. NaN-värdena i kolumnen 'Age' har ersatts med medelvärdet för kolumnen, och NaN-värdet i kolumnen 'Fare' har tagits bort. Så nu är det dags att lära sig hur man hanterar kategoriska variabler. Kategoriska betyder att de har vissa kategorier. Till exempel, i kolumnen 'Sex' finns det 'male' och 'female'; eller i kolumnen 'Embarked' finns det 'Q', 'S' och 'C'.

Vad ska vi göra för att beräkna antalet värden i varje kategori eller för att ta reda på information om dem?

Du känner redan till .loc[], .isin(), .between() och många funktioner, men i pandas finns det ett mer elegant och bekvämt sätt att göra detta. Använd funktionen .get_dummies(). Som exempel kommer vi att tillämpa den på kolumnen 'Embarked'. Titta på implementeringen och resultatet (vi kommer att visa fem slumpmässigt valda passagerares namn och de nya kolumner vi skapade).

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

Låt oss undersöka en av de möjliga utdata, specifikt en av de möjliga kombinationerna av fem slumpmässigt valda rader. Du kan scrolla horisontellt genom tabellen för att se alla kolumner:

Förklaring:

Som ett resultat delar vår funktion upp kolumnen 'Embarked' i tre kolumner: 'Embarked_C', 'Embarked_Q' och 'Embarked_S'. Totalt har vi tre kategorier. Varje passagerare har sin kategori i kolumnen 'Embarked'. Därför skapar vår funktion tre kolumner som motsvarar varje kategori, och för varje passagerare fylls raden i kolumnen med 1 om personen ursprungligen var kopplad till den geografiska platsen; annars anges 0. På så sätt får vi 1 i endast en kolumn.

pd.get_dummies(data, columns = ['Embarked'])
  • pd.get_dummies() – denna funktion omvandlar kategoriska variabler till dummy-variabler (1 eller 0);
  • data – den data frame som du vill använda;
  • columns = ['Embarked'] – kolumner innehåller kategoriska variabler som du vill omvandla till dummy-variabler. Observera att det är obligatoriskt att lägga kolumnnamnen i en lista.
Uppgift

Swipe to start coding

Din uppgift här är att omvandla kolumnen 'Sex' till en med dummyvariabler istället för kategoriska variabler. Skriv sedan ut summan av värdena i varje kategori.

Lösning

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 5. Kapitel 6
single

single

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

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

bookHantering av Kategoriska Variabler

Svep för att visa menyn

Nu kommer du att arbeta med en datamängd som inte innehåller några saknade värden. NaN-värdena i kolumnen 'Age' har ersatts med medelvärdet för kolumnen, och NaN-värdet i kolumnen 'Fare' har tagits bort. Så nu är det dags att lära sig hur man hanterar kategoriska variabler. Kategoriska betyder att de har vissa kategorier. Till exempel, i kolumnen 'Sex' finns det 'male' och 'female'; eller i kolumnen 'Embarked' finns det 'Q', 'S' och 'C'.

Vad ska vi göra för att beräkna antalet värden i varje kategori eller för att ta reda på information om dem?

Du känner redan till .loc[], .isin(), .between() och många funktioner, men i pandas finns det ett mer elegant och bekvämt sätt att göra detta. Använd funktionen .get_dummies(). Som exempel kommer vi att tillämpa den på kolumnen 'Embarked'. Titta på implementeringen och resultatet (vi kommer att visa fem slumpmässigt valda passagerares namn och de nya kolumner vi skapade).

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

Låt oss undersöka en av de möjliga utdata, specifikt en av de möjliga kombinationerna av fem slumpmässigt valda rader. Du kan scrolla horisontellt genom tabellen för att se alla kolumner:

Förklaring:

Som ett resultat delar vår funktion upp kolumnen 'Embarked' i tre kolumner: 'Embarked_C', 'Embarked_Q' och 'Embarked_S'. Totalt har vi tre kategorier. Varje passagerare har sin kategori i kolumnen 'Embarked'. Därför skapar vår funktion tre kolumner som motsvarar varje kategori, och för varje passagerare fylls raden i kolumnen med 1 om personen ursprungligen var kopplad till den geografiska platsen; annars anges 0. På så sätt får vi 1 i endast en kolumn.

pd.get_dummies(data, columns = ['Embarked'])
  • pd.get_dummies() – denna funktion omvandlar kategoriska variabler till dummy-variabler (1 eller 0);
  • data – den data frame som du vill använda;
  • columns = ['Embarked'] – kolumner innehåller kategoriska variabler som du vill omvandla till dummy-variabler. Observera att det är obligatoriskt att lägga kolumnnamnen i en lista.
Uppgift

Swipe to start coding

Din uppgift här är att omvandla kolumnen 'Sex' till en med dummyvariabler istället för kategoriska variabler. Skriv sedan ut summan av värdena i varje kategori.

Lösning

Switch to desktopByt till skrivbordet för praktisk övningFortsätt där du är med ett av alternativen nedan
Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 5. Kapitel 6
single

single

some-alt