single
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 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).
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 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.
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
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