single
Kategoristen 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).
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))
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.
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
Kiitos palautteestasi!
single
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme