Gevorderde Python-ontwikkelingscursus
Hoofdstuk
>
Niveau
Wiskundige Modules
Statistiekenmodule
Doel
Loop naar het kantoor en noteer wat statistische gegevens voor de metrics van de boerderij met behulp van de statistics-module.
Beneden de trap van de zolder bevindt zich een kantoor, waar bestanden worden opgeslagen met belangrijke gegevens voor de boerderij. Het zou een goed idee zijn om deze gegevens te verwerken en te documenteren om de toekomstige groei van de boerderij te voorspellen. Hiervoor gaan we de statistics Module gebruiken. Modules stellen ons in staat om hulpmiddelen zoals functies, klassen en dergelijke te importeren, waardoor de functionaliteit van Python wordt uitgebreid. Om een module op te zetten, schrijf je import voor de naam van de module. Dat klopt, je hebt de hele tijd al een module gebruikt om de speler te besturen!
import statistics
De module voegt verschillende functies toe voor het berekenen van statistieken. Hier zijn er een aantal die we gaan gebruiken om de statistische gegevens in het kantoor te verwerken:
statistics.mean(): Berekent het gemiddelde van een datasetstatistics.median(): Berekent de middelste waarde van een datasetstatistics.median_low(): Berekent de laagste mediaanwaarde van een datasetstatistics.median_high(): Berekent de hoogste mediaanwaarde van een datasetstatistics.mode(): Berekent de centrale tendens van een dataset, met andere woorden de waarde die het meest voorkomt in de gegevensverzameling.statistics.variance(): Berekent de variantie van de waarden in een dataset. Een hoog getal betekent dat de waarden verspreid zijn, een laag getal betekent dat de waarden dicht bij elkaar liggen.
Begin door naar het lichte X-teken voor de archiefkasten te lopen, en gebruik de read()-functie om de bestanden te controleren en de gegevens te lezen. Er zijn drie (3) rapporten te lezen in het veld; maak drie (3) lijsten aan om de gegevens voor elk rapport op te slaan: weather_report, export_report en harvest_report. De gegevens in elk rapport bevatten zes (6) waarden die betrekking hebben op de eerste zes (6) maanden van het jaar. Noteer en sla de zes (6) waarden in elke lijst op wanneer je ze leest.
Zodra je de gegevens hebt genoteerd en opgeslagen in lijsten, loop je naar het donkere X-teken bovenop het blauwe tapijt. Maak vijf variabelen aan met de namen: mean, median, low, high en variance. Deze variabelen zullen de waarden bevatten van de statistiekfuncties die we eerder hebben beschreven. Wat we gaan doen, is de lijst toevoegen van het rapport waarvan we statistieken willen berekenen; dit zal de statistieken genereren voor de verstrekte gegevens.
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 )
Met deze statistische gegevens gaan we de write()-functie gebruiken om de gegevens in memo's te noteren. De code-editor heeft de sequenties al vooraf geschreven. Op het blauwe tapijt X-teken, noteer de variabelen voor de export_report en schrijf ze op. Op het groene tapijt X-teken, noteer de variabelen voor de harvest_report en schrijf ze op. Op het rode tapijt X-teken, noteer de variabelen voor de weather_report en schrijf ze op. Je moet de variabelen voor elk rapport eerst vullen voordat je ze opschrijft, zodat de juiste statistische gegevens voor elk rapport worden vastgelegd.
Zodra alle statistische gegevens zijn genoteerd, loop je naar het gouden X-teken en maak je een nieuwe lijst aan genaamd group_report. In deze lijst voeg je, in die volgorde, de export_report en harvest_report toe. Dit zal een geneste lijst creëren die niet gebruikt kan worden met de statistiekfuncties. Om dit te verhelpen, gebruik je een list comprehension om de geneste lijst te flatten, zoals volgt: group_report= [item for sublist in group_report for item in sublist]
Maak nog twee variabelen aan: variance en mode met hun respectievelijke statistiekfuncties. Voeg de group_report lijst toe aan de variantiefunctie en voeg de weather_report lijst toe aan de modusfunctie, zoals volgt: variance = statistics.variance( group_report ), mode = statistics.mode( weather_report ). Voer de write()-functie uit die in de code-editor is ingesteld voor deze variabelen om het level te voltooien.