Sciensano, het Belgisch instituut voor gezondheid, analyseert, als onderdeel van haar surveillanceopdracht, de COVID-19-gegevens die worden verzameld door een netwerk van partners. Deze gegevens per dag kunnen eveneens gevonden worden op het interactieve dashboard Epistat en in de open data.
De trends worden weergegeven op basis van vier kernindicatoren: de bevestigde gevallen, de nieuwe door het labo bevestigde ziekenhuisopnames, de ingenomen bedden op intensieve zorgen (IZ) en de sterfgevallen. De indicatoren zijn gebaseerd op de datum van diagnose, overlijden of opname. De berekening en de vergelijking maakt gebruik van gegevens op basis van periodes van 7 dagen. Gegevens voor de 7-daagse periodes worden uitgedrukt als daggemiddelden; de evolutie geeft in % de verandering aan die tussen twee opeenvolgende periodes van 7 dagen wordt waargenomen.
Bron: https://covid-19.sciensano.be/sites/default/files/Covid19/Meest%20recente%20update.pdf
In deze oefening berekenen we het gemiddeld aantal ziekenhuisopnames ten gevolge van Covid-19 in een periode van 7 dagen voorafgaand aan een bepaalde datum.
Je beschikt hiertoe over een databestand
Het bevat de gegevens per provincie met betrekking tot ziekenhuisopnames ten gevolge van Covid-19 tussen 15 maart 2020 en 10 augustus 2020. Hieronder zie je een schermafdruk van de eerste rijen.
Voor deze oefening zijn we enkel geïnteresseerd in de datum (kolom DATE), de provincie (kolom PROVINCE) en het aantal nieuwe ziekenhuisopnames op die dag in die provincie (kolom NEW_IN).
De dataset bevat 1639 data-rijen (11 provincies * 149 dagen). De gegevens staan in oplopende volgorde per datum.
Het databestand is beschikbaar in het working directory van Dodona.
Programma debuggen
Je kan voor deze oefening de Python Tutor (na indienen op Dodona) niet gebruiken aangezien deze geen toegang heeft tot de bestanden. Als je de oefening wil debuggen, zal je deze lokaal moeten maken in PyCharm of in een Jupyter Notebook. Je moet dan de bestanden downloaden en bewaren in dezelfde map als je .py of .ipynb bestand.
Je kan het bestand hier downloaden: COVID19BE_HOSP.csv2
Schrijf een functie weekgemiddelde die twee argumenten heeft:
De functie leest het databestand in en berekent het gemiddelde van de kolom NEW_IN voor deze provincie gedurende 7 dagen voorafgaand aan de opgegeven datum (inclusief).
De functie retourneert een reëel getal afgerond op 1 cijfer na de komma (gebruik de functie round).
Als de opgeven datum of provincie niet voorkomt in de dataset, dan retourneert de functie de string "data niet beschikbaar".
Als we niet beschikken over 6 dagen voorafgaand aan de opgegeven datum, dan wordt het gemiddelde genomen van de dagen die wel beschikbaar zijn.
>>> weekgemiddelde('2020-04-12', 'Namur') 18.0 >>> weekgemiddelde('2019-05-08', 'Namur') 'data niet beschikbaar'
De gegevens staan in het databestand op volgorde van datum. Om de 6 dagen voorafgaand aan een bepaalde datum te vinden, neem je gewoon de 6 voorafgaande records (van dezelfde provincie). Je moet niet checken of de dagen kloppen.