Hantering 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).
1234import 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))
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.
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
Tack för dina kommentarer!
single
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
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?
Awesome!
Completion rate improved to 3.03
Hantering 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).
1234import 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))
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.
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
Tack för dina kommentarer!
single