Curs Avansat de Dezvoltare Python
Capitolul
>
Nivel
Module de matematică
Modulul de statistică
Obiectiv
Coborâți la birou și consemnați date statistice pentru metricile fermei folosind modulul statistics.
Jos pe scările de la mansardă se află un birou, unde sunt stocate fișiere ce conțin date importante pentru fermă. Ar fi o idee bună să procesăm aceste date și să le documentăm pentru a proiecta creșterea viitoare a fermei. Pentru a face acest lucru, vom implementa utilizarea modulului statistics. Modulele ne permit să importăm instrumente precum funcții, clase și altele asemenea, extinzând funcționalitatea Python. Pentru a configura un modul, scrii import înaintea numelui modulului; exact, ai folosit un modul pentru a controla player-ul tot acest timp!
import statistics
Modulul adaugă mai multe funcții pentru calcularea statisticilor, iată câteva pe care le vom folosi pentru a procesa datele statistice din birou:
statistics.mean(): Calculează media unui set de datestatistics.median(): Calculează valoarea mediană a unui set de datestatistics.median_low(): Calculează cea mai mică valoare mediană a unui set de datestatistics.median_high(): Calculează cea mai mare valoare mediană a unui set de datestatistics.mode(): Calculează tendința centrală a unui set de date, adică valoarea cea mai prezentă în eșantionul de date.statistics.variance(): Calculează variația valorilor dintr-un set de date. Un număr mare înseamnă că valorile sunt dispersate, iar un număr mic înseamnă că valorile sunt apropiate.
Începeți mergând către semnul X luminos din fața dulapurilor de arhivă, folosiți funcția read() pentru a verifica fișierele și a citi datele. Există trei (3) rapoarte de citit în domeniu, creați trei (3) liste pentru a stoca datele pentru fiecare: weather_report, export_report și harvest_report. Datele din fiecare raport conțin șase (6) valori, reprezentând datele aferente primelor șase (6) luni ale anului. Notați și stocați cele șase (6) valori în fiecare listă când le citiți.
Odată ce ați notat și stocat datele în liste, mergeți la semnul X întunecat de pe covorul albastru. Creați cinci variabile denumite: mean, median, low, high și variance. Aceste variabile vor conține valoarea funcțiilor statistice pe care le-am descris anterior. Ceea ce vom face este să adăugăm lista raportului de la care dorim să obținem statistici; aceasta va genera statistici pentru datele furnizate.
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 )
Cu aceste date statistice vom folosi funcția write() pentru a nota informațiile în memo-uri; editorul de cod va avea secvențele pre-scrise. Pe semnul X de pe covorul albastru, conturați variabilele pentru export_report și notați-le. Pe semnul X de pe covorul verde, conturați variabilele pentru harvest_report și notați-le. Pe semnul X de pe covorul roșu, conturați variabilele pentru weather_report și notați-le. Trebuie să populați variabilele pentru fiecare raport înainte de a le nota, pentru a avea datele statistice corecte consemnate pentru fiecare.
Odată ce toate datele statistice au fost consemnate, mergeți la semnul X auriu și creați o nouă listă numită group_report. În această listă veți adăuga, în această ordine, export_report și harvest_report. Acest lucru va crea o listă imbricată care nu poate fi folosită cu funcțiile statistice; pentru a remedia acest lucru, utilizați o list comprehension pentru a aplatiza lista imbricată, astfel: group_report= [item for sublist in group_report for item in sublist]
Configurați încă două variabile: variance și mode folosind funcțiile statistice respective. Adăugați lista group_report la funcția statistică variance, iar lista weather_report la funcția statistică mode, astfel: variance = statistics.variance( group_report ) , mode = statistics.mode( weather_report ). Executați funcția write() configurată în editorul de cod pentru aceste variabile pentru a finaliza nivelul.