Curso Avançado de Desenvolvimento Python
Capítulo
>
Nível
Módulos Matemáticos
Módulo de Estatísticas
Objetivo
Caminhe até o escritório e registre alguns dados estatísticos para as métricas da fazenda utilizando o módulo statistics.
Descendo as escadas do sótão, há um escritório, onde arquivos são armazenados contendo dados importantes para a fazenda. Seria uma boa ideia processar esses dados e documentá-los para projetar o crescimento futuro da fazenda. Para isso, vamos implementar o uso do Módulo statistics. Módulos nos permitem importar ferramentas como funções, classes e afins, ampliando a funcionalidade do Python. Para configurar um módulo, você escreve import antes do nome do módulo; isso mesmo, você vem usando um módulo para controlar o jogador o tempo todo!
import statistics
O módulo adiciona várias funções para calcular estatísticas; aqui estão algumas que usaremos para processar os dados estatísticos no escritório:
statistics.mean(): Calcula a média de um conjunto de dadosstatistics.median(): Calcula o valor central de um conjunto de dadosstatistics.median_low(): Calcula o menor valor mediano de um conjunto de dadosstatistics.median_high(): Calcula o maior valor mediano de um conjunto de dadosstatistics.mode(): Calcula a tendência central de um conjunto de dados, ou seja, o valor mais presente na amostra de dados.statistics.variance(): Calcula a variância dos valores em um conjunto de dados. Um número alto significa que os valores estão bastante dispersos; um número baixo indica que os valores estão próximos uns dos outros.
Comece caminhando até a marca X clara em frente aos armários de arquivos; use a função read() para verificar os arquivos e ler os dados. Há três (3) relatórios para serem lidos no campo; crie três (3) listas para armazenar os dados de cada um: weather_report, export_report e harvest_report. Os dados em cada relatório contêm seis (6) valores representando informações referentes aos primeiros seis (6) meses do ano. Observe e armazene os seis (6) valores em cada lista ao lê-los.
Depois de ter anotado e armazenado os dados em listas, caminhe até a marca X escura sobre o tapete azul. Crie cinco variáveis chamadas: mean, median, low, high e variance. Essas variáveis abrigarão o valor das funções estatísticas que descrevemos anteriormente. O que faremos é adicionar a lista do relatório do qual desejamos obter estatísticas; isso gerará as estatísticas para os dados fornecidos.
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 )
Com esses dados estatísticos, usaremos a função write() para registrar os dados em memorandos; o editor de código terá as sequências pré-escritas. Na marca X do tapete azul, descreva as variáveis para o export_report e registre-as. Na marca X do tapete verde, descreva as variáveis para o harvest_report e registre-as. Na marca X do tapete vermelho, descreva as variáveis para o weather_report e registre-as. Você deve preencher as variáveis para cada relatório primeiro, para que os dados estatísticos corretos sejam registrados.
Depois que todos os dados estatísticos forem registrados, caminhe até a marca X dourada e crie uma nova lista chamada group_report. Nessa lista, você adicionará o export_report e o harvest_report, nessa ordem. Isso criará uma lista aninhada que não pode ser utilizada com as funções estatísticas. Para resolver isso, utilize uma compreensão de lista para achatar a lista aninhada, assim: group_report= [item for sublist in group_report for item in sublist]
Configure mais duas variáveis: variance e mode com suas respectivas funções estatísticas. Adicione a lista group_report à função estatística de variância, e a lista weather_report à função estatística de moda, assim: variance = statistics.variance( group_report ), mode = statistics.mode( weather_report ). Execute a função write() configurada no editor de código para essas variáveis, a fim de completar o nível.