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
Edistyneet Tekniikat Pandas-Kirjastossa

bookKategoristen Muuttujien Hallinta

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 hallitsemaan kategorisia muuttujia. Kategorinen tarkoittaa, että arvoilla on tiettyjä luokkia. Esimerkiksi sarakkeessa 'Sex' on arvot 'male' ja 'female'; tai sarakkeessa 'Embarked' on arvot '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 tätä varten vielä kätevämpi ja selkeämpi tapa. Käytä funktiota .get_dummies(). Esimerkkinä sovellamme sitä sarakkeeseen 'Embarked'. Katso toteutus ja tulos (tulostamme viiden satunnaisen matkustajan nimet sekä 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 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ö alun perin liittyi kyseiseen maantieteelliseen alueeseen; muussa tapauksessa 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-muuttujiksi. Huomioi, että sarakenimet on pakollista laittaa listaan.
Tehtävä

Swipe to start coding

Tehtävänäsi on muuntaa sarake 'Sex' kategorisista arvoista dummy-muuttujiksi. Tämän jälkeen tulosta summa kunkin kategorian arvoista.

Ratkaisu

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

close

Awesome!

Completion rate improved to 3.03

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 hallitsemaan kategorisia muuttujia. Kategorinen tarkoittaa, että arvoilla on tiettyjä luokkia. Esimerkiksi sarakkeessa 'Sex' on arvot 'male' ja 'female'; tai sarakkeessa 'Embarked' on arvot '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 tätä varten vielä kätevämpi ja selkeämpi tapa. Käytä funktiota .get_dummies(). Esimerkkinä sovellamme sitä sarakkeeseen 'Embarked'. Katso toteutus ja tulos (tulostamme viiden satunnaisen matkustajan nimet sekä 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 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ö alun perin liittyi kyseiseen maantieteelliseen alueeseen; muussa tapauksessa 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-muuttujiksi. Huomioi, että sarakenimet on pakollista laittaa listaan.
Tehtävä

Swipe to start coding

Tehtävänäsi on muuntaa sarake 'Sex' kategorisista arvoista dummy-muuttujiksi. 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

some-alt