Edistynyt Python-kehityskurssi
Luku
>
Taso
Matematiikkamoduulit
Tilastot moduuli
Tavoite
Mene toimistoon ja kartoita maatilan mittareihin liittyvää tilastodataa käyttäen statistics-moduulia.
Ullakolta laskeutuvien portaiden juuressa sijaitsee toimisto, jossa säilytetään tiedostoja, jotka sisältävät tärkeitä tietoja maatilasta. Olisi hyvä idea käsitellä nämä tiedot ja dokumentoida ne tulevaa maatilan kasvua varten. Tämän tekemiseksi otamme käyttöön statistics-moduulin. Moduulit mahdollistavat työkalujen, kuten funktioiden ja luokkien, tuonnin, mikä laajentaa Pythonin toiminnallisuutta. Jotta moduuli saadaan käyttöön, kirjoitat sen nimen eteen import – juuri niin, olet käyttänyt moduulia ohjataksesi pelaajaa koko tämän ajan!
import statistics
Moduuli sisältää useita funktioita tilastolaskelmien tekemiseen; tässä muutamia, joita käytämme toimiston tilastodatan käsittelyyn:
statistics.mean(): Laskee datan keskiarvonstatistics.median(): Laskee datan keskimmäisen arvonstatistics.median_low(): Laskee datan alimman mediaaniarvonstatistics.median_high(): Laskee datan ylimmän mediaaniarvonstatistics.mode(): Laskee datan keskittymisen, toisin sanoen sen arvon, joka esiintyy useimmin datassa.statistics.variance(): Laskee arvojen varianssin datassa. Korkea luku tarkoittaa, että arvot ovat laajalle levinneet, ja matala luku että ne ovat lähellä toisiaan.
Aloita kävelemällä kevyelle X-merkkiselle alueelle tiedostokaappien edessä. Käytä read()-funktiota tarkistaaksesi tiedostot ja lukeaksesi datan. Kentällä on luettavana kolme (3) raporttia, joten luo kolme (3) listaa, joihin tallennat kunkin raportin tiedot: weather_report, export_report ja harvest_report. Kunkin raportin data sisältää kuusi (6) arvoa, jotka edustavat vuoden ensimmäisten kuuden (6) kuukauden tietoja. Merkitse ja tallenna nämä kuusi (6) arvoa jokaiseen listaan lukiessasi ne.
Kun olet merkinnyt ja tallentanut datan listoihin, kävele tummalle X-merkkiselle alueelle sinisen maton päällä. Luo viisi muuttujaa nimeltä: mean, median, low, high ja variance. Nämä muuttujat sisältävät edellä mainittujen tilastofunktioiden arvot. Mitä aiomme tehdä, on lisätä se raporttilista, josta haluamme tilastoja, jolloin saamme tilastotiedot annetulle datalle.
mean = statistics.mean( report list ) median = statistics.median( report list ) low = statistics.median_low( report list ) high = statistics.median_high( report list ) variance = statistics.variance( report list )
Tämän tilastodatan avulla käytämme write()-funktiota merkitäksemme tiedot muistiinpanoihin. Koodieditori sisältää ennalta kirjoitetut sekvenssit. Sinisen maton X-merkinnällä luonnostele export_report-muuttujat ja kirjoita ne ylös. Vihreän maton X-merkinnällä luonnostele harvest_report-muuttujat ja kirjoita ne ylös. Punaisen maton X-merkinnällä luonnostele weather_report-muuttujat ja kirjoita ne ylös. Sinun on täytettävä kunkin raportin muuttujat ensin, jotta oikea tilastodata merkitään ylös.
Kun kaikki tilastodata on kirjattu, kävele kultaiseen X-merkkiselle alueelle ja luo uusi lista nimeltä group_report. Tälle listalle lisäät export_report- ja harvest_report-listat siinä järjestyksessä. Tämä luo sisäkkäisen listan, jota ei voi käyttää suoraan tilastofunktioissa, joten ongelman ratkaisemiseksi käytä listan ymmärrystä (list comprehension) tasoittamaan sisäkkäiset listat, esimerkiksi näin: group_report= [item for sublist in group_report for item in sublist]
Määrittele vielä kaksi muuttujaa: variance ja mode niiden vastaavilla tilastofunktioilla. Lisää group_report-lista variance-funktioon ja weather_report-lista mode-funktioon, esimerkiksi näin: variance = statistics.variance( group_report ), mode = statistics.mode( weather_report ). Suorita write()-funktio, jonka koodieditori on määritellyt näille muuttujiin, viimeistelläksesi tason.