Python Dokumentasjon
En oversikt over grunnleggende Python-funksjoner for statistisk analyse. Bruk søket eller kategoriene for å finne den funksjonen du trenger.
mean()
Beregner det aritmetiske gjennomsnittet av tallene i data.
Syntaks
mean(data)
Eksempel
from statistics import mean
data = [1, 2, 3, 4, 5]
gjennomsnitt = mean(data)
print(gjennomsnitt) # Output: 3
Resultat
Returnerer gjennomsnittet av verdiene i listen (3.0).
median()
Beregner medianen (midtverdien) av tallene i data.
Syntaks
median(data)
Eksempel
from statistics import median
data = [1, 3, 5, 7, 9]
midtverdi = median(data)
print(midtverdi) # Output: 5
Resultat
Returnerer medianen av verdiene i listen (5).
mode()
Finner den vanligste verdien (modus) i data.
Syntaks
mode(data)
Eksempel
from statistics import mode
data = [1, 2, 2, 3, 3, 3, 4]
vanligst = mode(data)
print(vanligst) # Output: 3
Resultat
Returnerer den vanligste verdien i listen (3).
pstdev()
Beregner populasjonsstandardavviket av data.
Syntaks
pstdev(data, mu=None)
Eksempel
from statistics import pstdev
data = [1, 2, 3, 4, 5]
std = pstdev(data)
print(std) # Output: ca 1.4142
Resultat
Returnerer populasjonsstandardavviket av verdiene i listen (√2 ≈ 1.4142).
stdev()
Beregner utvalgs-standardavviket av data.
Syntaks
stdev(data, xbar=None)
Eksempel
from statistics import stdev
data = [1, 2, 3, 4, 5]
std = stdev(data)
print(std) # Output: ca 1.5811
Resultat
Returnerer utvalgs-standardavviket av verdiene i listen.
len()
Returnerer antall elementer i et objekt (f.eks. en liste).
Syntaks
len(objekt)
Eksempel
data = [1, 2, 3, 4, 5]
antall = len(data)
print(antall) # Output: 5
Resultat
Returnerer antall elementer i listen (5).
sum()
Summerer alle tallene i et iterbart objekt.
Syntaks
sum(iterbart_objekt, start=0)
Eksempel
data = [1, 2, 3, 4, 5]
total = sum(data)
print(total) # Output: 15
Resultat
Returnerer summen av alle verdiene i listen (15).
min()
Finner den minste verdien i et iterbart objekt.
Syntaks
min(iterbart_objekt)
Eksempel
data = [5, 3, 8, 1, 7]
minste = min(data)
print(minste) # Output: 1
Resultat
Returnerer den minste verdien i listen (1).
max()
Finner den største verdien i et iterbart objekt.
Syntaks
max(iterbart_objekt)
Eksempel
data = [5, 3, 8, 1, 7]
største = max(data)
print(største) # Output: 8
Resultat
Returnerer den største verdien i listen (8).
print()
Skriver ut verdier til konsollen med ett mellomrom mellom hver verdi som standard.
Syntaks
print(verdi1, verdi2, ..., sep=" ", end="\n")
Eksempel
navn = "Sara"
alder = 15
print("Navn:", navn, "Alder:", alder) # Output: Navn: Sara Alder: 15
Resultat
Skriver ut de angitte verdiene til konsollen med standardseparator (mellomrom) mellom hver verdi.
f-strenger
En moderne og lesbar måte å formatere strenger på ved å inkludere variabler og uttrykk direkte i teksten.
Syntaks
f"tekst {uttrykk} mer tekst"
Eksempel
navn = "Sara"
alder = 15
print(f"Hei, jeg heter {navn} og er {alder} år gammel.")
# Output: Hei, jeg heter Sara og er 15 år gammel.
Resultat
Evaluerer uttrykkene i krøllparentesene og setter verdiene inn i strengen.
Formaterte f-strenger
F-strenger med formatspesifikasjoner for å kontrollere hvordan verdier vises.
Syntaks
f"tekst {uttrykk:formatering} mer tekst"
Eksempel
tall = 3.14159
prosent = 0.8543
print(f"Pi avrundet: {tall:.2f}")
print(f"Prosentandel: {prosent:.1%}")
# Output:
# Pi avrundet: 3.14
# Prosentandel: 85.4%
Resultat
Formaterer verdier i f-strenger etter spesifikke krav, som antall desimaler eller prosent.
Anførselstegn
Definerer en streng (tekst) i Python. Bruk anførselstegn rundt tekst, men ikke rundt variabelnavn.
Syntaks
"tekst" eller 'tekst'
Eksempel
navn = "Sara" # Definerer en streng-variabel
print(navn) # Bruker variabelen - ingen anførselstegn
print("navn") # Skriver ut selve teksten "navn"
# Output:
# Sara
# navn
Resultat
Demonstrerer forskjellen mellom å bruke anførselstegn (for tekst) og å ikke bruke anførselstegn (for variabler).
for loop
Itererer gjennom elementene i et iterbart objekt.
Syntaks
for variabel in iterbart_objekt:
# kode som skal utføres
Eksempel
data = [1, 2, 3, 4, 5]
sum = 0
for tall in data:
sum += tall
print(sum) # Output: 15
Resultat
Utfører koden for hvert element i listen. I eksemplet legges hvert tall til i summen.
if statement
Utfører kode basert på om en betingelse er sann eller ikke.
Syntaks
if betingelse:
# kode hvis sant
elif annen_betingelse:
# kode hvis annen betingelse er sant
else:
# kode hvis ingenting er sant
Eksempel
tall = 7
if tall > 10:
print('Større enn 10')
elif tall > 5:
print('Mellom 6 og 10')
else:
print('5 eller mindre')
# Output: Mellom 6 og 10
Resultat
Utfører kode basert på om betingelsen er sann. I eksemplet skrives "Mellom 6 og 10" ut.
while loop
Utfører kode så lenge en betingelse er sann.
Syntaks
while betingelse:
# kode som skal utføres
# husk å endre betingelsen
Eksempel
i = 0
sum = 0
while i < 5:
sum += i
i += 1
print(sum) # Output: 10
Resultat
Utfører kode så lenge betingelsen er sann. I eksemplet summeres tallene 0 til 4, som gir 10.
list comprehension
En kompakt måte å lage nye lister basert på eksisterende lister.
Syntaks
[uttrykk for element in iterbart_objekt if betingelse]
Eksempel
data = [1, 2, 3, 4, 5]
doblet = [x * 2 for x in data]
print(doblet) # Output: [2, 4, 6, 8, 10]
Resultat
Lager en ny liste ved å utføre en operasjon på hvert element i den opprinnelige listen.
sorted()
Sorterer elementene i et iterbart objekt.
Syntaks
sorted(iterbart_objekt, key=None, reverse=False)
Eksempel
data = [5, 3, 8, 1, 7]
sortert = sorted(data)
print(sortert) # Output: [1, 3, 5, 7, 8]
Resultat
Returnerer en ny sortert liste basert på den opprinnelige listen.
count()
Teller antall forekomster av en verdi i en liste.
Syntaks
liste.count(verdi)
Eksempel
data = [1, 2, 2, 3, 3, 3, 4]
antall_3 = data.count(3)
print(antall_3) # Output: 3
Resultat
Returnerer antall ganger verdien forekommer i listen.
append()
Legger til et element på slutten av en liste.
Syntaks
liste.append(element)
Eksempel
data = [1, 2, 3]
data.append(4)
print(data) # Output: [1, 2, 3, 4]
Resultat
Endrer den opprinnelige listen ved å legge til elementet på slutten.
pd.DataFrame()
Oppretter en to-dimensjonal tabellisk datastruktur. Dette er en avansert funksjon fra pandas-biblioteket.
Syntaks
pd.DataFrame(data, index=None, columns=None)
Eksempel
import pandas as pd
data = {'Navn': ['Anders', 'Berit', 'Camilla'],
'Alder': [15, 16, 15],
'Karakter': [5, 4, 6]}
df = pd.DataFrame(data)
print(df)
Resultat
Lager en tabell med kolonner for Navn, Alder og Karakter.
plt.plot()
Lager et linjediagram. Dette er en avansert funksjon fra matplotlib-biblioteket.
Syntaks
plt.plot(x, y)
Eksempel
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [1, 4, 9, 16, 25]
plt.plot(x, y)
plt.xlabel('x-verdier')
plt.ylabel('y-verdier')
plt.title('Kvadrattall')
plt.show()
Resultat
Viser et linjediagram av kvadrattallene.
Læringsressurser
Lær mer om hvordan du kan bruke Python for statistisk analyse:
Kom i gang med Python
Grunnleggende Python for statistikk krever bare standardbiblioteket:
from statistics import mean, median, mode, pstdev, stdev
# Eksempeldata
data = [1, 2, 3, 4, 5, 5]
# Beregn statistiske mål
print(f"Gjennomsnitt: {'{'}mean(data){'}'}")
print(f"Median: {'{'}median(data){'}'}")
print(f"Modus: {'{'}mode(data){'}'}")
print(f"Standardavvik (populasjon): {'{'}pstdev(data){'}'}")
print(f"Standardavvik (utvalg): {'{'}stdev(data){'}'}")
Arbeide med frekvenstabeller
En vanlig måte å representere data på er som frekvenstabeller. Her er et eksempel på hvordan du kan konvertere en frekvenstabell til en liste med rådata for statistisk analyse:
from statistics import mean, median, mode, pstdev
# Frekvenstabell som liste av tupler: (verdi, frekvens)
frekvenstabell = [(0, 8), (1, 5), (2, 6), (4, 3)]
# Konvertere frekvenstabell til liste med rådata
liste = []
for verdi, frekvens in frekvenstabell:
liste += frekvens*[verdi]
print(liste) # [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 4, 4, 4]
# Beregne statistiske mål på listen
print(f"Gjennomsnitt: {'{'}mean(liste):.2f{'}'}")
print(f"Median: {'{'}median(liste){'}'}")
print(f"Typetall: {'{'}mode(liste){'}'}")
print(f"Standardavvik: {'{'}pstdev(liste):.2f{'}'}")
print(f"Antall verdier: {'{'}len(liste){'}'}")
# Alternativ måte med list comprehension
liste2 = [verdi for verdi, frekvens in frekvenstabell for _ in range(frekvens)]
print(f"Liste laget med list comprehension: {'{'}liste2{'}'}")
Utskrift og formatering i Python
En viktig del av programmering er å skrive ut resultater. I Python bruker vi print()
for dette, og f-strenger (f-strings) er en elegant måte å inkludere variabelverdier i tekst.
F-strenger og print()
F-strenger lar deg inkludere variabler direkte i tekst ved å sette dem mellom krøllparentes {}
. Dette gjør koden mer leselig og lettere å vedlikeholde:
# Vanlig utskrift
print("Hei, verden!")
# Grunnleggende f-string
navn = "Sara"
alder = 15
print(f"Hei, jeg heter {'{'}navn{'}'} og er {'{'}alder{'}'} år gammel.")
# F-strenger med formatering
gjennomsnitt = 4.5833
print(f"Gjennomsnittet er {'{'}gjennomsnitt{'}'}") # Skriver ut: Gjennomsnittet er 4.5833
print(f"Avrundet: {'{'}gjennomsnitt:.2f{'}'}") # Skriver ut: Avrundet: 4.58
print(f"Prosent: {'{'}gjennomsnitt/6*100:.1f{'}'}") # Skriver ut: Prosent: 76.4%
# F-strenger med uttrykk
a = 5
b = 7
print(f"Summen av {'{'}a{'}'} og {'{'}b{'}'} er {'{'}a + b{'}'}") # Skriver ut: Summen av 5 og 7 er 12
# Utskrift av flere linjer (flere print-uttalelser)
print("Linje 1")
print("Linje 2")
# Utskrift på samme linje
print("Del 1", end=" ") # end-parameteren endrer linjeskiftet til et mellomrom
print("Del 2")
Betydningen av anførselstegn (" ")
I Python er det viktig å forstå forskjellen mellom tekst (strenger) og variabler:
- Med anførselstegn (
"tekst"
) - Python tolker dette som tekst (en streng) - Uten anførselstegn (
variabel
) - Python tolker dette som en variabel eller et objekt
# ---- Riktig bruk av anførselstegn ----
# Anførselstegn for tekst
print("Dette er en tekst")
navn = "Emma"
print(f"Hei {'{'}navn{'}'}") # Variabelnavn uten anførselstegn INNI f-strengen
# Uten anførselstegn for variabler
alder = 16
print(f"Alder: {'{'}alder{'}'}")
# ---- Feilaktig bruk ----
# FEIL: Forsøker å bruke variabel uten å definere den først
# print(dette_er_ikke_definert) # Dette vil gi feilmelding
# FEIL: Variabelnavn i anførselstegn inni f-streng
# Dette vil skrive ut: Hei {navn} (bokstavelig talt)
# print(f"Hei {"navn"}") # Dette vil også gi syntaksfeil
# ---- Kommentarer ----
# Dette er en kommentar. Python ignorerer alt etter #-tegnet på en linje.
"""
Dette er en flerlinjekommentar.
Python ignorerer all tekst mellom triple anførselstegn.
Dette kan også brukes som dokumentasjon.
"""
Tips for debugging med print
Bruk print-uttalelser for å feilsøke koden din. Det er spesielt nyttig å skrive ut:
- Verdien til variabler på ulike punkter i koden
- Typen til variabler med
print(f"Type: {type(variabel)}")
- Meldinger som viser hvor i koden du befinner deg
- Resultatet av beregninger for å verifisere at de er riktige
# Eksempel på debugging med print
data = [10, 20, 30, 40, 50]
print(f"Data: {data}")
print(f"Type av data: {'{'}type(data){'}'}")
# Før løkke
sum = 0
print(f"Startverdi for sum: {sum}")
# Inne i løkken
for tall in data:
sum += tall
print(f"Etter å ha lagt til {'{'}tall{'}'}: sum = {'{'}sum{'}'}")
# Endelig resultat
print(f"Endelig sum: {'{'}sum{'}'}")
Bonus: Avanserte biblioteker
For de som vil utforske videre, kan avanserte biblioteker som pandas og matplotlib installeres slik:
pip install pandas matplotlib
Disse bibliotekene gir kraftige verktøy for dataanalyse og visualisering:
import pandas as pd
import matplotlib.pyplot as plt
# Opprette en enkel dataframe
df = pd.DataFrame({
'Navn': ['Anders', 'Berit', 'Camilla', 'David'],
'Poeng': [85, 92, 78, 90]
})
# Beregne statistikk med pandas
print(df.describe())
# Lage en enkel visualisering
plt.bar(df['Navn'], df['Poeng'])
plt.title('Poeng per elev')
plt.ylabel('Poeng')
plt.show()