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 databestand in en retourneert een lijst met tuples.
Voor elke data scientist uit dit land (employee_residence) wordt een tuple toegevoegd met drie elementen: job_title (string), employment_type (string) en salaris in USD (int). De tuples staan in dezelfde volgorde als ze voorkomen in de dataset.
Als er geen records zijn voor het opgegeven land, dan retourneert de functie een lege lijst.
>>> gegevens("BE") [('Data Analytics Consultant', 'FL', 50000), ('Data Scientist', 'FT', 84053), ('Data Scientist', 'FT', 52008), ('Machine Learning Engineer', 'FT', 82744), ('Machine Learning Engineer', 'FT', 88654)] >>> gegevens("XX") []
gemiddelden
Schrijf een functie gemiddelden met één argument: een landcode (string)
De functie haalt de gegevens op van het land en gaat na wat het gemiddelde salaris is voor elke job title in dat land. Om dit gemiddelde te berekenen, wordt enkel gekeken naar fulltime-werknemers (employment_type = "FT").
De functie retourneert een dictionary met als sleutels de job titles in dit land waarvoor er minstens één fulltime data scientist is en als waarden het overeenkomstig gemiddelde als float, niet afgerond.
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 uit dit land'
>>> gemiddelden("BE") {'Data Scientist': 68030.5, 'Machine Learning Engineer': 85699.0} >>> gemiddelden("XX") 'Er zijn geen fulltime data scientists uit dit land'