Eksempeloppgave med video


Programmeringsoppgaver i Ekte Data

Først må vi laste inn numpy og matplotlib.pyplot

In [ ]:
import numpy as np # for matematikk
import matplotlib.pyplot as plt # for figurer
from EkteDataFunk import loadData # for filinnlasting

Så må vi laste inn et datasett. Flere datasett som er enkle å bruke og som brukes i andre av Ekte Data programmeringsoppgaver finnes på samme link.

In [ ]:
    
file='PrecipVestlandMonthly.txt'
data = loadData(file, rydd='N')
print(data.shape)  # Dette gir dimensjonene til datasettet. Man må skrive 
                   # "print()" rundt fordi bare den siste linjen i en celle 
                   # printes ut automatisk
data   # Dette printer ut alle verdiene i "data"

Sorter datasettet i en tidsvektor og en data-vektor, og ta stilling til fyll-verdier.

In [ ]:
data[data==-999.99]=np.nan 

# Hele datasettet utenom den første kolonnen som er årene
nedbør=data[:,1:] 

# Gjennomsnittlig månedsnedbør per år. axis=1 beskriver at vi vil ta 
# gjennomsnittet av alle kolonnene slik at det blir en verdi per år. axis=0 
# ville gitt gjenomsnitt over radene.
nedbør=np.nanmean(nedbør, axis=1) 

# Den første kolonnen
tid=data[:,0]                     

Lag en figur!

In [ ]:
plt.plot(tid,nedbør) # plot nedbør som en funksjon av tid
plt.xlim(1899,2020)  # definer min/max til x-aksen for å unngå tomrom på sidene
plt.xlabel('Tid')                   # navn på x-aksen
plt.ylabel('Nedbør [mm]')           # navn på y-aksen
plt.title('Gjennomsnittlig månedsnedbør (Vestlandet: 1900-2020)') # Tittel
plt.grid(True) # Vis rutenett. Om du ikke vil ha det, skriv plt.grid(False).
In [ ]:
 
In [ ]:
 

Last ned og prøv selv:

Åpne med Google Colab
Åpne i github