Pokročilý kurz vývoje v Pythonu
Kapitola
>
Úroveň
Matematické moduly
Statistický modul
Cíl
Jděte do kanceláře a zaznamenejte statistická data pro metriky farmy pomocí modulu statistics.
Z půdního schodiště se nachází kancelář, kde jsou uloženy soubory obsahující důležitá data pro farmu. Bylo by dobré tato data zpracovat a zdokumentovat je, aby bylo možné předpovědět budoucí růst farmy. K tomu využijeme modul statistics. Moduly nám umožňují importovat nástroje, jako jsou funkce, třídy a podobně, čímž rozšiřují funkcionalitu Pythonu. Pro nastavení modulu napíšete před názvem modulu slovo import, přesně tak, celý ten čas jste používali modul k ovládání hráče!
import statistics
Modul přidává několik funkcí pro výpočet statistik, zde je několik, které budeme používat pro zpracování dat v kanceláři:
statistics.mean(): Vypočítá průměrnou hodnotu ze sady datstatistics.median(): Vypočítá střední hodnotu ze sady datstatistics.median_low(): Vypočítá nejnižší mediánovou hodnotu ze sady datstatistics.median_high(): Vypočítá nejvyšší mediánovou hodnotu ze sady datstatistics.mode(): Vypočítá centrální tendenci ze sady dat, jinými slovy hodnotu, která se ve vzorku dat vyskytuje nejčastějistatistics.variance(): Vypočítá rozptyl hodnot ze sady dat. Vysoké číslo znamená, že hodnoty jsou rozprostřeny, zatímco nízké číslo značí, že hodnoty jsou blízko u sebe.
Začněte tak, že se vydáte k označenému světlem X před skříněmi s dokumenty, použijte funkci read() ke kontrole souborů a načtení dat. V poli je třeba načíst tři (3) zprávy, vytvořte tři (3) seznamy pro uložení dat pro každou zprávu: weather_report, export_report a harvest_report. Data v každé zprávě obsahují šest (6) hodnot představujících data z prvních šesti (6) měsíců roku. Při jejich načítání si poznamenejte a uložte všech šest (6) hodnot do příslušného seznamu.
Jakmile si zaznamenáte a uložíte data do seznamů, vydejte se k tmavému X nad modrým kobercem. Vytvořte pět proměnných s názvy: mean, median, low, high a variance. Tyto proměnné budou obsahovat hodnoty funkcí statistiky, které jsme si dříve popsal. Co uděláme, je přidání seznamu zprávy, ze které chceme získat statistiky, což vygeneruje statistiky pro poskytnutá data.
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 )
S těmito statistickými daty použijeme funkci write() k zaznamenání dat do poznámek, přičemž kódový editor již bude obsahovat předem připravené sekvence. Na X značeném modrém koberci načrtněte proměnné pro export_report a zapište je. Na X značeném zeleném koberci načrtněte proměnné pro harvest_report a zapište je. Na X značeném červeném koberci načrtněte proměnné pro weather_report a zapište je. Nejprve musíte naplnit proměnné pro každou zprávu, než je zapíšete, aby byla správně zaznamenána statistická data pro každou z nich.
Až budete mít zaznamenána všechna statistická data, vydejte se k zlatému X a vytvořte nový seznam s názvem group_report. Do tohoto seznamu přidejte export_report a harvest_report v uvedeném pořadí. Tím vytvoříte vnořený seznam, který nelze použít se statistikami. Abychom to napravili, použijte listovou komprehenci, která zploští vnořený seznam, například takto: group_report= [item for sublist in group_report for item in sublist]
Nastavte ještě dvě proměnné: variance a mode s jejich příslušnými funkcemi. Přidejte seznam group_report do funkce pro výpočet rozptylu a seznam weather_report do funkce pro výpočet módy, například takto: variance = statistics.variance( group_report ), mode = statistics.mode( weather_report ). Pro dokončení úrovně spusťte funkci write() nastavenou v kódovém editoru pro tyto proměnné.