Hå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).
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))
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
i kun é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 som inneholder kategoriske variabler du ønsker å gjøre om til dummy-variabler. Merk at det er obligatorisk å sette kolonnenavnene i en liste.
Swipe to start coding
Oppgaven 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
Takk for tilbakemeldingene dine!
single
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår
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
Hå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).
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))
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
i kun é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 som inneholder kategoriske variabler du ønsker å gjøre om til dummy-variabler. Merk at det er obligatorisk å sette kolonnenavnene i en liste.
Swipe to start coding
Oppgaven 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
Takk for tilbakemeldingene dine!
single