ssb_befolkning_fagfunksjoner.demographics package

ssb_befolkning_fagfunksjoner.demographics.birth_rates module

foedselsrate(df_start, df_slutt, df_foedsler, *, grupperingsvariabler=None, aldersgruppe_col='aldersgruppe', alder_col='alder', kjoenn_col='kjoenn', skala=1000, aldersgruppering=1, min_alder=15, max_alder=49, beregn_for_menn=False)

Beregner fødselsrater per 1000 etter aldersgrupper.

Return type:

DataFrame

Parameters:
  • df_start (DataFrame)

  • df_slutt (DataFrame)

  • df_foedsler (DataFrame)

  • grupperingsvariabler (None | str | list[str])

  • aldersgruppe_col (str)

  • alder_col (str)

  • kjoenn_col (str)

  • skala (int)

  • aldersgruppering (int)

  • min_alder (int)

  • max_alder (int)

  • beregn_for_menn (bool)

Parametere

df_start: pd.DataFrame

Befolkning ved periodens start. Må inneholde alder og grupperingskolonner.

df_slutt: pd.DataFrame

Befolkning ved periodens slutt. Må inneholde alder og grupperingskolonner.

df_foedsler: pd.DataFrame

Hendelsesdata for fødsler.

grupperingsvariabler: None | str | list[str], optional

Variabler å gruppere fødselsrater på (f.eks. “komm_nr” eller [“landsdel”, “invkat”]).

aldersgruppering: int, default 1

Bredde på aldersgrupper (f.eks. 5 for 5-årsgrupper)

min_alder: int, default 15

Nedre aldersgrense.

max_alder: int, default 49

Øvre aldersgrense.

beregn_for_menn: bool, default False

Hvis True, beregn fødselsrater for menn.

Returnerer

pd.DataFrame

Datasett med fødselsrater per gruppe.

Eksempler

# Med 5-årsgrupper foedselsrate(start, slutt, foedsler, aldersgruppering=5)

# Gruppert etter fylke foedselsrate(start, slutt, foedsler, grupperingsvariabler=”fylke”)

ssb_befolkning_fagfunksjoner.demographics.dublettsjekk module

dublettsjekk(inndata, variabler=None)

Utfører en dublettsjekk på and pandas DataFrame eller Series.

Funksjonen: - Printer antall unike verdier som forekommer to eller flere ganger. - Printer hvor mange rader disse verdiene fordeler seg på. - Returnerer en frekvenstabell med hvilke verdier det gjelder, antall forekomster. - Sammenligner antall rader i parameter1 og parameter2 og printer differansen.

Parametre: - inndata (pd.DataFrame | pd.Series): Et datasett eller en serie som skal sjekkes for dubletter - variabler (list[str]): Liste med variabler som skal sjekkes for dubletter, dersom inndata er DataFrame

Eksempel:

Return type:

DataFrame

Parameters:
  • inndata (DataFrame | Series)

  • variabler (list[str] | None)

ssb_befolkning_fagfunksjoner.demographics.order_country_codes module

sorter_landkoder(country_codes, *, dates=None, select_first=False, year=2026)

Reorders country codes based on KLASS regional priority ranking.

Parameters:
  • country_codes (Iterable[Sequence[str]]) – Iterable[Sequence[str]] Sequence of country code lists to reorder.

  • dates (Iterable[Sequence[str]] | None) – Iterable[Sequence[str]] | None, optional Optional date lists corresponding to country codes. If provided, dates are reordered to match country code order.

  • select_first (bool) – bool, default False If True, return only the highest-priority code (and date) per row.

  • year (int | str) – int | str, default current year Year for loading the appropriate KLASS classification.

Return type:

tuple[list[Sequence[str]], list[Sequence[str]]] | list[Sequence[str]]

Returns:

tuple[list[Sequence[str]], list[Sequence[str]]] | list[Sequence[str]]

If dates provided: (ordered_codes, ordered_dates) If no dates: ordered_codes If select_first=True, each sublist contains only one element.

ssb_befolkning_fagfunksjoner.demographics.sml_rader module

sml_rader(dataframe1, dataframe2)

Sjekker om to datasett har likt antall rader. Til å sjekke at f.eks. joins ikke har skapt flere rader ved et uhell.

  • Teller og printer antall rader i parameter1

  • Teller og printer antall rader i parameter2

  • Printer differansen

Eksempel på bruk:

import pandas as pd import numpy as np

# Create a DataFrame with 10 rows and 2 columns data = {

“Name”: [f”Person_{i}” for i in range(1, 11)], “Score”: np.random.randint(50, 100, size=10)

}

tellesett1 = pd.DataFrame(data)

print(tellesett1)

data = {

“Name”: [f”Person_{i}” for i in range(1, 14)], “Score”: np.random.randint(50, 100, size=13)

}

tellesett2 = pd.DataFrame(data)

print(tellesett2)

sml_rader(“tellesett1”, “tellesett2”)

Return type:

None

Parameters:
  • dataframe1 (DataFrame)

  • dataframe2 (DataFrame)