Categorische Variabelen Beheren
Nu werkt u met een dataset waarin geen ontbrekende waarden voorkomen. De NaN
-waarden uit de kolom 'Age'
zijn vervangen door het gemiddelde van de kolom, en de NaN
-waarde uit de kolom 'Fare'
is verwijderd.
Het is nu tijd om te leren hoe categorische variabelen beheerd kunnen worden. Categorisch betekent dat ze enkele categorieën bevatten. Bijvoorbeeld, in de kolom 'Sex'
zijn er 'male'
en 'female'
; of in de kolom 'Embarked'
zijn er 'Q'
, 'S'
en 'C'
.
Wat moet er gedaan worden om het aantal waarden in elke categorie te berekenen of om informatie hierover te verkrijgen?
U kent al .loc[]
, .isin()
, .between()
en veel andere functies, maar in pandas is er een elegantere en handigere manier om dit te doen. Gebruik de functie .get_dummies()
. Als voorbeeld passen we deze toe op de kolom 'Embarked'
. Bekijk de implementatie en het resultaat (we tonen de namen van 5 willekeurige passagiers en de nieuwe kolommen die we hebben aangemaakt).
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))
Laten we een van de mogelijke uitvoerresultaten bekijken, specifiek een van de mogelijke combinaties van vijf willekeurig geselecteerde rijen. U kunt horizontaal door de tabel scrollen om alle kolommen te bekijken:
Uitleg:
Als resultaat splitste onze functie de kolom 'Embarked'
in drie kolommen: 'Embarked_C'
, 'Embarked_Q'
en 'Embarked_S'
. In totaal zijn er drie categorieën. Elke passagier heeft zijn categorie in de kolom 'Embarked'
. Onze functie maakt dus drie kolommen die overeenkomen met elke categorie, en vult voor elke passagier de rij van de kolom met 1
als de persoon oorspronkelijk gerelateerd was aan de betreffende geografie; anders wordt 0
ingevuld. Zo krijgen we slechts in één kolom een 1
.
pd.get_dummies(data, columns = ['Embarked'])
pd.get_dummies()
– deze functie zet categorische variabelen om in dummy-variabelen (1 of 0);data
– het data frame dat gebruikt wordt;columns = ['Embarked']
– kolommen met categorische variabelen die omgezet moeten worden naar dummy-variabelen. Let op: het is verplicht om kolomnamen in een lijst te plaatsen.
Swipe to start coding
Je taak hier is om de kolom 'Sex'
om te zetten naar een kolom met dummyvariabelen in plaats van categorische waarden. Geef vervolgens de som van de waarden in elke categorie weer.
Oplossing
Bedankt voor je feedback!
single
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.
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
Categorische Variabelen Beheren
Veeg om het menu te tonen
Nu werkt u met een dataset waarin geen ontbrekende waarden voorkomen. De NaN
-waarden uit de kolom 'Age'
zijn vervangen door het gemiddelde van de kolom, en de NaN
-waarde uit de kolom 'Fare'
is verwijderd.
Het is nu tijd om te leren hoe categorische variabelen beheerd kunnen worden. Categorisch betekent dat ze enkele categorieën bevatten. Bijvoorbeeld, in de kolom 'Sex'
zijn er 'male'
en 'female'
; of in de kolom 'Embarked'
zijn er 'Q'
, 'S'
en 'C'
.
Wat moet er gedaan worden om het aantal waarden in elke categorie te berekenen of om informatie hierover te verkrijgen?
U kent al .loc[]
, .isin()
, .between()
en veel andere functies, maar in pandas is er een elegantere en handigere manier om dit te doen. Gebruik de functie .get_dummies()
. Als voorbeeld passen we deze toe op de kolom 'Embarked'
. Bekijk de implementatie en het resultaat (we tonen de namen van 5 willekeurige passagiers en de nieuwe kolommen die we hebben aangemaakt).
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))
Laten we een van de mogelijke uitvoerresultaten bekijken, specifiek een van de mogelijke combinaties van vijf willekeurig geselecteerde rijen. U kunt horizontaal door de tabel scrollen om alle kolommen te bekijken:
Uitleg:
Als resultaat splitste onze functie de kolom 'Embarked'
in drie kolommen: 'Embarked_C'
, 'Embarked_Q'
en 'Embarked_S'
. In totaal zijn er drie categorieën. Elke passagier heeft zijn categorie in de kolom 'Embarked'
. Onze functie maakt dus drie kolommen die overeenkomen met elke categorie, en vult voor elke passagier de rij van de kolom met 1
als de persoon oorspronkelijk gerelateerd was aan de betreffende geografie; anders wordt 0
ingevuld. Zo krijgen we slechts in één kolom een 1
.
pd.get_dummies(data, columns = ['Embarked'])
pd.get_dummies()
– deze functie zet categorische variabelen om in dummy-variabelen (1 of 0);data
– het data frame dat gebruikt wordt;columns = ['Embarked']
– kolommen met categorische variabelen die omgezet moeten worden naar dummy-variabelen. Let op: het is verplicht om kolomnamen in een lijst te plaatsen.
Swipe to start coding
Je taak hier is om de kolom 'Sex'
om te zetten naar een kolom met dummyvariabelen in plaats van categorische waarden. Geef vervolgens de som van de waarden in elke categorie weer.
Oplossing
Bedankt voor je feedback!
single