Åpen oppgave
Åpen oppgave
I denne siste oppgaven til INF100 kan du velge selv hva du skal jobbe med, så lenge du har med følgende punkter:
Velg et dataset i CSV- eller JSON-format. Noen forslag finnes lenger nede, men du kan velge noe annet som har en lignende størrelse.
Husk å laste opp selve datasett i Codegrade, eller oppgi en URL der den kan lastes ned hvis den er for stor.
Les inn filen i en nyttig datastruktur (f.eks list / dict / np.array) og gjør noe med dataen: f.eks hente ut noen deler, oppsummere noe, sammenligne to ting, … Det er ikke nok å bare bruke hele datasettet uendret.
Bruk matplotlib for å visualisere resultatene dine på en interesant måte. Det kan være noen søylediagrammer, en scatter- eller linje-plott, noe på et kart, … Husk å ta med tittelen og aksebeskrivelsene.
Bruk funksjoner for å strukturere programmet ditt. Hovedprogrammet skal være ganske kort, og kalle ulike funksjoner du har definert for å få jobben gjort.
Ha med noen interaksjon med brukeren, der du spør om noe med
input()
som påvirker resultatet. F.eks kan du spørre om filnavn til datafilen, eller hvilken av byene skal plottes, eller hvilken analyse skal kjøres, …Programmet må ikke krasje ved feil input, du må håndtere det med f.eks Exceptions, og spørre brukeren igjen.
Inkluder kommentarer/docstrings som forklarer funksjonene dine og en kort README.txt-fil som beskriver programmet ditt, og hvordan den skal brukes.
Lagre plottene som PNG med
plt.savefig()
og last opp bildene i codegrade. Det gjør det enklere for gruppeledere å se på programmene deres.
Forslag til datasett
Grenselinjene
Denne kilden brukte vi flere ganger, både med Turtle og Matplotlib: https://gadm.org/download_country.html
Filen vi brukte var Norway -> GeoJSON level-0, som har kun de eksterne grensene. Level-1-filen inneholder fylkesgrenser, og level-2-filen har kommunegrenser med.
Et mulig prosjekt kan være å spørre brukeren om et kommunenavn og så plotte kun den kommunen sammen med landegrensen.
Disse datafilene kan også godt kombineres med…
Populasjonsdata
https://www.geonames.org/ har mange spennende datasett, som er tilgjengelige under http://download.geonames.org/export/dump/. F.eks de fleste stedsnavn i et land (NO.zip
) eller alle byene i verden (cities15000.zip
)
Dataformatet er CSV med delimiter="\t"
istedenfor ";"
. En beskrivelse av de ulike kolonnene finnes i readme.txt
Her kan du f.eks plotte byene med ulik størrelse avhengig innbyggertallet, eller sammenligne gjennomsnittsstørrelsen på alle byer med B
som forbokstav mot de med O
.
Andre geografiske datasett
Fiskeridirektoratet har Akvakulturregisteret på sin nettside, som kan lastes ned som CSV. Det inneholder alle fiskeribedriftene i Norge, med hva slags fisk de oppdrar, hvor mye fisk, og posisjon.
Filene om flyplassene finnes her: https://ourairports.com/data/
Ikke-geografiske datasett
Fivethirtyeight
Nettsiden https://fivethirtyeight.com/ har sine kildefiler tiljengelig som CSV her: https://data.fivethirtyeight.com/
Noen jeg likte der:
Statistisk sentralbyrå
SSB tilbyr CSV- eller JSON-nedlasting av sine analyser. Detaljene og en forklaring hvordan settene kan lastes ned er på https://www.ssb.no/api/slik-bruker-du-api-med-ferdige-datasett
En oversikt over de tilgjengelige datasett er https://data.ssb.no/api/v0/dataset/list.csv?lang=no
Andre kilder?
Hvis du finner andre kilder som du vil dele, gjerne gi beskjed i discord, da kan vi legge dem til her.