Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Kategoristen Muuttujien Hallinta | Datan esikäsittely
Datan Käsittely Pandasilla
Osio 5. Luku 6
single

single

bookKategoristen Muuttujien Hallinta

Pyyhkäise näyttääksesi valikon

Nyt työskentelet tietojoukon kanssa, jossa ei ole puuttuvia arvoja. Sarakkeen NaN 'Age'-arvot korvattiin sarakkeen keskiarvolla, ja sarakkeen NaN 'Fare'-arvo poistettiin. Nyt on aika oppia, miten kategorisia muuttujia käsitellään. Kategorinen tarkoittaa, että muuttujalla on joitakin luokkia. Esimerkiksi sarakkeessa 'Sex' on 'male' ja 'female'; tai sarakkeessa 'Embarked' on 'Q', 'S' ja 'C'.

Miten voimme laskea arvojen määrän kussakin kategoriassa tai saada niistä tietoa?

Tunnet jo funktiot .loc[], .isin(), .between() ja monia muita, mutta pandas-kirjastossa on vieläkin kätevämpi tapa tehdä tämä. Käytä funktiota .get_dummies(). Esimerkkinä sovellamme sitä sarakkeeseen 'Embarked'. Katso toteutus ja tulos (tulostamme viiden satunnaisen matkustajan nimet ja uudet luodut sarakkeet).

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

Tarkastellaan yhtä mahdollisista tuloksista, eli yhtä mahdollista viiden satunnaisesti valitun rivin yhdistelmää. Voit vierittää taulukkoa vaakasuunnassa nähdäksesi kaikki sarakkeet:

Selitys:

Tämän seurauksena funktiomme jakoi sarakkeen 'Embarked' kolmeen sarakkeeseen: 'Embarked_C', 'Embarked_Q' ja 'Embarked_S'. Yhteensä meillä on kolme kategoriaa. Jokaisella matkustajalla on oma kategoriansa 'Embarked'-sarakkeessa. Näin ollen funktiomme luo kolme saraketta, jotka vastaavat kutakin kategoriaa, ja jokaisen matkustajan kohdalla se täyttää sarakkeen rivin arvolla 1, jos henkilö kuului alun perin kyseiseen maantieteelliseen alueeseen; muuten arvo on 0. Näin ollen saamme arvon 1 vain yhteen sarakkeeseen.

pd.get_dummies(data, columns = ['Embarked'])
  • pd.get_dummies() – tämä funktio muuntaa kategoriset muuttujat dummy-muuttujiksi (1 tai 0);
  • data – tietokehys, jota haluat käyttää;
  • columns = ['Embarked'] – sarakkeet, joissa on kategorisia muuttujia, jotka haluat muuntaa dummy-muotoon. Huomaa, että sarakenimet on pakollista laittaa listaan.
Tehtävä

Pyyhkäise aloittaaksesi koodauksen

Tehtävänäsi on muuntaa sarake 'Sex' sisältämään dummy-muuttujat kategoristen arvojen sijaan. Tämän jälkeen tulosta summa kunkin kategorian arvoista.

Ratkaisu

Switch to desktopVaihda työpöytään todellista harjoitusta vartenJatka siitä, missä olet käyttämällä jotakin alla olevista vaihtoehdoista
Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 5. Luku 6
single

single

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

some-alt