single
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 innebär att de har vissa kategorier. Till exempel finns det i kolumnen 'Sex' värdena 'male' och 'female'; eller i kolumnen 'Embarked' finns det 'Q', 'S' och 'C'.
Vad ska vi göra för att räkna antalet värden i varje kategori eller för att få information om dem?
Du känner redan till .loc[], .isin(), .between() och många funktioner, men i pandas finns det ett ännu smidigare och bekvämare sätt att göra detta. Använd funktionen .get_dummies(). Som exempel kommer vi att tillämpa den på kolumnen 'Embarked'. Titta på implementationen och resultatet (vi kommer att visa fem slumpmässigt valda passagerares namn och de nya kolumnerna 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 titta på ett av de möjliga resultaten, specifikt en av de möjliga kombinationerna av fem slumpmässigt valda rader. Du kan scrolla horisontellt i 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 konverterar kategoriska variabler till dummy-variabler (1 eller 0);data– den data frame du vill använda;columns = ['Embarked']– kolumner som har kategoriska variabler som du vill omvandla till dummy-variabler. Observera att det är obligatoriskt att lägga kolumnnamnen i en lista.
Svep för att börja koda
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