Hopp til innhold
TasksAndActivitiesOppgaver og aktiviteter

Oppgave

Oppgaver med store datasett

I disse oppgavene skal du jobbe med store datasett og med grafiske framstillinger av slike datasett.

FooterHeaderIconFooter iconLK20

Før du prøver deg på oppgavene, bør du gå gjennom fagstoffsiden som hører til denne artikkelen:

5.2.1 Kommandoen transpose()

Når vi jobber med en dataframe i Python, har vi av og til bruk for kommandoen transpose().

a) Hva gjør kommandoen transpose()?

b) Tenk deg at du har en dataframe som ser ut som tabellen nedenfor dersom du skriver den ut:

Ski

Sykler

Skøyter

2018

1

2

3

2019

4

5

6

2020

7

8

9

c) Så tenker vi oss at du bruker kommandoen transpose() på denne dataframen. Hvordan ser den nye dataframen ut da?

Løsningsforslag

2018

2019

2020

Ski

1

4

7

Sykler

2

5

8

Skøyter

3

6

9

Kommandoen (transpose) får rader til å bli kolonner, og motsatt.

d) Viser tabellen i løsningsforslaget over det samme som tabellen i oppgaveteksten til b)?

5.2.2 Reising

Koronaviruset påvirket nordmenns reisevaner i stor grad. I denne oppgaven skal vi se på hvordan reisevanene våre har endret seg fra perioden like før koronaviruset begynte å spre seg, og fram til i dag.

I fila "Reiser" nedenfor finner du en oversikt over ulike reiser nordmenn har gjennomført mellom juli 2018 og juni 2020. . I oppgaven kan du bruke fila vi har lagt ut, eller hente tallene selv fra Statistisk sentralbyrå, ssb.no. (Pass på at du ikke velger noen av variablene som handler om kjønn, da kan du få problemer med å lage diagrammer.)

a) Last ned datafila. Den har et kryptisk navn, så døp om filnavnet til "Reiser" og pass på at filetternavnet er "csv". Importer fila i programmet ditt. Bruk print()-funksjonen for å se hvordan den ser ut.

Filer

Løsningsforslag

Python

1
2
3
import pandas as pd
data = pd.read_csv("reiser.csv", index_col = 0, skiprows = (0,1), sep = ";", encoding = "latin-1")
print(data)

b) Lag ei grafisk framstilling som viser hvordan nordmenns reisevirksomhet har endret seg i denne perioden.

Løsningsforslag

Python

1
2
3
4
import pandas as pd
data = pd.read_csv("reiser.csv", index_col = 0, skiprows = (0,1), sep = ";", encoding = "latin-1")
data = data.transpose()
data.plot()

Tips dersom teksten langs x-aksen blir for tett:

  • Importer matplotlib.pyplot ("as plt").
  • Skriv nederst i koden: plt.xticks(fontsize=8).

Prøv eventuelt med en annen skriftstørrelse (fontstørrelse) enn 8.

Dersom du vil ha forklaringen utenfor selve diagrammet, erstatt data.plot() med data.plot().legend(bbox_to_anchor = (1,1))

Dersom du ønsker kortere kategorinavn, lag en liste med nye navn (feks kun 2018K3 osv) og bruk data.columns =

c) Kommenter utviklingen av reiser.

Tips

Hva tror du er årsaken til at reisevirksomheten går ned i første og andre kvartal 2020?
Er det noen typer av reiser som går opp?
Hva kan være årsaken til det?

5.2.3 Kulturskoleutgifter


Fila Kulturskoleutgifter.csv gir en oversikt over netto driftsutgifter til kommunale kulturskoler for noen tilfeldig utvalgte kommuner i Norge. Både store og små kommuner er med i utvalget. Tallene viser utgiftene per innbygger mellom 6 og 15 år i tidsrommet 2015 til 2019. Fila er hentet fra SSB.

Filer

a) Les fila inn i Python.

Tips

Husk å hoppe over linjer med overskrift!

Løsningsforslag

Python

1
2
import pandas as pd
data = pd.read_csv("kulturskoleutgifter.csv", index_col = 0, skiprows = (0,1), sep = ";", encoding = "latin-1")

b) Endre overskriftene slik at de bare inneholder årstallene.

Løsningsforslag

Python

1
2
3
4
5
6
K=[]
K.append(2015)

for i in range(1, 5):
    K.append(K[i-1] + 1)
data.columns = K

c) Finn ut hvor mye de utvalgte kommunene bruker i snitt per innbygger.

Tips

Bruk transpose() og mean().

d) Lag en grafisk framstilling som viser hvordan utgiftene til kulturskole har endret seg i de fem årene fra 2020 til 2024.

Tips
  • I noen konsoller vil du få desimaltall på x-aksen (f.eks. 2018,5).
  • Hvis du vil fjerne desimalen, går du tilbake til koden i punkt b og bruker kommandoen str() på alle elementene i lista.
  • Legg elementene i ei ny liste. Elementene vil da bli strenger og ikke tall, slik at du slipper å få halve år.
Løsningsforslag
Grafer viser utviklingen av utgiftene til kulturskoler i de kommunene som er omfattet av oppgaven.

Diagram kulturskoleutgifter

Python

1
2
3
4
5
6
7
L=[]
for i in range(len(K)):
    L.append(str(K[i]))
data.columns = L
data = data.transpose()

data.plot().legend(bbox_to_anchor = (1,1))

e) Følg lenken i a) til SSB. Der finner du grunnlagstallene til denne oppgaven. Velg ut ti (eller flere) kommuner. Gjør nå det samme med dine egne tall som du har gjort i deloppgavene a) til d).

f) Prøv å lage ulike framstillinger som viser to og to kommuner mot hverandre.

g) Ser du noen forskjeller mellom store og små kommuner? Kan du lage en framstilling som viser dette?

5.2.4 Miniprosjekt

Finn en statistikk på ssb.no om et emne du er interessert i. Last ned ei csv-fil. Lag ulike statistikker og prøv deg fram. Presenter funnene dine skriftlig eller muntlig.

Sist oppdatert 19.08.2020
Skrevet av Tove Annette Holter og Bjarne Skurdal

Læringsressurser

Grafisk framstilling og store datasett med Python