Voor deze oefening maken we gebruik van een dataset met de resultaten van een bevraging bij 3755 data scientists betreffende hun functie en salaris tussen 2020 en 2023.
We werken met een bestand dat werd gedownload vanop Kaggle via deze link: https://www.kaggle.com/datasets/arnabchaki/data-science-salaries-2023/data1
Hieronder de eerste regels van het bestand "ds_salaries.csv".
De dataset bevat volgende gegevens voor 3755 data scientists:
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:
gegevens
Schrijf een functie gegevens met één argument: een landcode (string)
De functie leest het bestand in en gaat na hoeveel fulltime werknemers er voorkomen voor elke job title. Enkel de werknemers waarvoor de employee_residence gelijk is aan de opgegeven landcode en als employment_type "FT" hebben, komen in aanmerking.
De functie retourneert een dictionary waarin de sleutels de namen van de job titles zijn (string), de waarde is voor elke job title het aantal werknemers (een integer).
Als de landcode niet voorkomt of als er geen enkele FT voorkomt, dan krijg je een lege dictionary.
>>> gegevens("BE") {'Data Scientist': 2, 'Machine Learning Engineer': 2} >>> gegevens("IR") {}
populairste
Schrijf een functie populairste met één argument: een landcode (string)
De functie haalt de gegevens op van het land en gaat na wat de meest populaire job title is voor dat land. Er wordt opnieuw enkel gekeken naar fulltime-werknemers.
Als er één job title is die de meeste fulltime werknemers telt voor dat land, dan komt er
'de populairste job title in dit land is: X'
Als meer dan één job title ex aequo het hoogste aantal werknemers telt, worden deze alfabetisch gezet en gescheiden door een komma:
'de populairste job titles in dit land zijn: X, Y, Z'
Als er geen fulltime werknemers zijn voor dit land of als het land niet voorkomt in de dataset dan retourneert de functie de string
'er zijn geen fulltime data scientists in dit land'
>>> populairste('BE') 'de populairste job titles in dit land zijn: Data Scientist, Machine Learning Engineer' >>> populairste('XX') 'er zijn geen fulltime data scientists in dit land' >>> populairste('DK') 'de populairste job title in dit land is: AI Scientist'