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
Datahåndtering med Pandas
Seksjon 5. Kapittel 6
single

single

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 enda enklere og mer praktisk måte å gjøre dette på. Bruk funksjonen .get_dummies(). Som et eksempel skal vi bruke den på kolonnen 'Embarked'. Se på implementeringen og resultatet (vi viser 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 se på en av de mulige utdataene, nærmere bestemt en av de mulige kombinasjonene av fem tilfeldig valgte rader. Du kan bla horisontalt i tabellen for å se alle kolonnene:

Forklaring:

Som et resultat delte funksjonen vår kolonnen 'Embarked' inn 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. Slik 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 har kategoriske variabler du vil gjøre om til dummy-variabler. Merk at det er obligatorisk å sette kolonnenavnene i en liste.
Oppgave

Sveip for å begynne å kode

Din oppgave her er å transformere kolonnen 'Sex' til en med dummyvariabler i stedet for kategoriske verdier. Deretter skal du skrive ut 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

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

some-alt