Drop links or images here to add them to the editor.

We werken met een dataset genaamd historical_data.csv, die informatie bevat over de deelnames van nationale ploegen aan de FIFA wereldbekers in 2002, 2006, 2010, 2014, 2018 en 2022. Het bestand is gedownload van Kaggle en bevat 192 records.

Hieronder de eerste regels van het bestand "historical_data.csv".

schermafdruk csv
Eerste lijnen in het bestand.

Beschrijving van de data

Enkel de kolommen die vet gedrukt zijn, zijn relevant voor deze analyse.

Databestand

Het bestand is beschikbaar in het working directory van Dodona. Om te debuggen in PyCharm of in een Jupyter Notebook) zal je het bestand moeten downloaden en bewaren in dezelfde map als je .py of .ipynb bestand.

Je kan het bestand hier downloaden:

Opgave

  1. Functie deelnames

    Schrijf een functie deelnames met één parameter: land (string)

    De functie leest het databestand in en retourneert een lijst met alle deelnames van het opgegeven land, in de volgorde zoals ze voorkomen in de oorspronkelijke dataset.

    Per deelname wordt een tuple toegevoegd aan de outputlijst. De tuple bevat in deze volgorde de volgende gegevens:

    • jaartal (int): kolom version
    • continent (str)
    • score (int): de score die het team behaalde. Deze wordt berekend op basis van de hoogst behaalde prestatie in het toernooi: winner=16, finalist=8, semi_finalist=4, quarter_finalist=2, als geen van deze opties geldt, is de score 1 (qualificatie).

    Als het land niet voorkomt in de dataset, retourneert de functie een lege lijst.

    Voorbeelden
    >>> deelnames("Belgium")
    [(2018, 'Europe', 4), (2022, 'Europe', 1), (2014, 'Europe', 2), (2002, 'Europe', 1)]
    
    >>> deelnames("Mali")
    []
    
    
  2. Functie score_per_continent

    Schrijf een functie score_per_continent met één parameter: continent (str)

    De functie doet het volgende:

    • Leest het CSV-bestand in en haalt daaruit een lijst van alle landen in de dataset die tot het opgegeven continent behoren.
    • Voor elk land worden volgende waarden berekend:
      • aantal_deelnames (int): Het aantal keren dat het land deelnam aan een WK (op basis van de beschikbare gegevens).
      • totaal_score (int): De som van de scores van alle deelnames van het land.
    • Retourneert een geneste dictionary met als sleutels de landen en als waarden dictionaries met de berekende waarden voor elk land (zie voorbeelden). Als het continent niet voorkomt in de dataset, retourneert de functie een lege dictionary.
    Voorbeelden
    >>> score_per_continent('Oceania')
    {'Australia': {'aantal_deelnames': 5, 'totaal_score': 5}, 'New Zealand': {'aantal_deelnames': 1, 'totaal_score': 1}}
    
    >>> score_per_continent('Antarctica')
    {}
    
          
  3. Functie hoogste_score_per_continent

    Schrijf een functie hoogste_score_per_continent met één parameter: continent (str)

    De functie gaat op zoek naar het land met de hoogste score in het opgegeven continent en retourneert:

    • Als er geen enkel land in het continent heeft deelgenomen: de string "Geen gegevens beschikbaar."
    • Als er meer dan één land dezelfde hoogste score hebben: "De landen met de hoogste score in continent zijn: land1 en land2 en ... en landx met een totale score van score." De landen worden in dit geval gesorteerd op naam.
    • Anders: de string "Het land met de hoogste score in continent is land1 met een totale score van score."
    Voorbeelden
    >>> hoogste_score_per_continent('Oceania')
    "Het land met de hoogste score in Oceania is Australia met een totale score van 5."
    
    >>> hoogste_score_per_continent('Africa')
    "De landen met de hoogste score in Africa zijn: Ghana en Morocco met een totale score van 5."
                          
    >>> hoogste_score_per_continent('Antarctica')
    "Geen gegevens beschikbaar."