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)