Skip to content

Instantly share code, notes, and snippets.

@kardolus
Last active October 14, 2025 01:32
Show Gist options
  • Select an option

  • Save kardolus/a9edbb36527f5a567fdaf321bd89f89c to your computer and use it in GitHub Desktop.

Select an option

Save kardolus/a9edbb36527f5a567fdaf321bd89f89c to your computer and use it in GitHub Desktop.
Correlation research
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.preprocessing import MinMaxScaler
# =============================
# 1. Load & process crimes
# =============================
df_crime = pd.read_csv("../data/crimes_2010_2024.csv", sep=";", header=4)
df_crime.columns = df_crime.columns.str.replace('"', '', regex=False).str.replace('*', '', regex=False).str.strip()
df_crime = df_crime.rename(columns={"Unnamed: 0": "Soort misdrijf"})
df_crime["Soort misdrijf"] = df_crime["Soort misdrijf"].astype(str).str.replace('"', '').str.strip()
df_crime.columns = [col.replace('*', '') for col in df_crime.columns]
crime_year_cols = [col for col in df_crime.columns if col.startswith("20")]
seksuele_keywords = [
"Aanranding",
"Verkrachting",
"Schennis der eerbaarheid",
"Ontucht met minderjarige",
"Pornografie",
"Ontucht met misbruik van gezag",
"Seksueel misdrijf (overig)"
]
df_sexual = df_crime[df_crime["Soort misdrijf"].apply(lambda x: any(k in x for k in seksuele_keywords))].copy()
df_sexual[crime_year_cols] = df_sexual[crime_year_cols].apply(pd.to_numeric, errors="coerce")
totals_sexual = df_sexual[crime_year_cols].sum()
# =============================
# 2. Load & process immigration
# =============================
df_imm = pd.read_csv("../data/immigration.csv", sep=";", header=6)
df_imm.columns = df_imm.columns.str.replace('"', '', regex=False).str.strip()
df_imm = df_imm.rename(columns={df_imm.columns[0]: "Geboorteland"})
df_imm["Geboorteland"] = df_imm["Geboorteland"].astype(str).str.replace('"', '').str.strip()
df_total_imm = df_imm[df_imm["Geboorteland"] == "Totaal"].copy()
imm_year_cols = [col for col in df_total_imm.columns if col.isdigit()]
df_total_imm[imm_year_cols] = df_total_imm[imm_year_cols].apply(pd.to_numeric, errors="coerce")
immigrants_by_year = df_total_imm[imm_year_cols].squeeze()
# =============================
# 3. Load & process women data
# =============================
df_women = pd.read_csv("../data/women.csv", sep=";", header=5)
df_women.columns = df_women.columns.str.replace('"', '', regex=False).str.strip()
df_women.columns = ["Regio", "Jaar", "Aantal"]
df_women = df_women[df_women["Regio"] == "Nederland"].copy()
df_women["Jaar"] = pd.to_numeric(df_women["Jaar"], errors="coerce")
df_women.set_index("Jaar", inplace=True)
women_per_year = df_women["Aantal"]
# =============================
# 4. Load & process population
# =============================
df_pop = pd.read_csv("../data/population.csv", sep=";", header=3)
df_pop.columns = df_pop.columns.str.replace('"', '', regex=False).str.strip()
df_pop = df_pop.rename(columns={"Regio's": "Regio", "Onderwerp": "Omschrijving"})
df_nl = df_pop[df_pop["Regio"] == "Nederland"].copy()
start_row = df_nl[df_nl["Omschrijving"] == "Bevolking aan het begin van de periode"]
end_row = df_nl[df_nl["Omschrijving"] == "Bevolking aan het einde van de periode"]
years = [str(y) for y in range(2015, 2025)]
start_values = start_row[years].astype(float).squeeze()
end_values = end_row[years].astype(float).squeeze()
avg_population = ((start_values + end_values) / 2).round()
# =============================
# 5. Calculate per-100k rates
# =============================
# Align data
year_range = [str(y) for y in range(2015, 2025)]
crimes = totals_sexual[year_range]
immigrants = immigrants_by_year[year_range]
women = women_per_year.loc[[int(y) for y in year_range]]
population = avg_population[year_range]
# Rates
crimes_per_100k_women = (crimes.values / women.values) * 100_000
imm_per_100k_total = (immigrants.values / population.values) * 100_000
# =============================
# 6. Normalize and plot
# =============================
df_combined = pd.DataFrame({
"Seksuele Misdrijven per 100k vrouwen": crimes_per_100k_women,
"Immigratie per 100k inwoners": imm_per_100k_total
}, index=year_range)
# Normalize
scaler = MinMaxScaler()
df_normalized = pd.DataFrame(
scaler.fit_transform(df_combined),
columns=df_combined.columns,
index=df_combined.index
)
# Plot
plt.figure(figsize=(14, 6))
plt.plot(df_normalized.index, df_normalized.iloc[:, 0], label="Seksuele Misdrijven / 100k vrouwen", color="red", marker="o", linewidth=2)
plt.plot(df_normalized.index, df_normalized.iloc[:, 1], label="Immigratie / 100k inwoners", color="blue", marker="o", linewidth=2)
plt.title("Genormaliseerde Trends: Seksuele Misdrijven vs Immigratie (2015–2024)")
plt.xlabel("Jaar")
plt.ylabel("Genormaliseerde waarde (0–1)")
plt.grid(True)
plt.xticks(rotation=45)
plt.legend()
plt.tight_layout()
plt.show()
from scipy.stats import pearsonr
# Compute Pearson correlation
corr_value, p_value = pearsonr(
df_combined["Seksuele Misdrijven per 100k vrouwen"],
df_combined["Immigratie per 100k inwoners"]
)
print(f"📈 Pearson Correlation Coefficient: {corr_value:.4f}")
print(f"📊 P-value: {p_value:.4g}")
We can make this file beautiful and searchable if this error is corrected: Any value after quoted field isn't allowed in line 4.
"Geregistreerde criminaliteit; soort misdrijf, regio"
"Regio's: Nederland"
"Onderwerp: |Totaal geregistreerde misdrijven"
"";"Perioden"
"";"2010";"2011";"2012";"2013";"2014";"2015";"2016";"2017";"2018";"2019";"2020";"2021";"2022";"2023*";"2024*"
"Soort misdrijf";"aantal";"aantal";"aantal";"aantal";"aantal";"aantal";"aantal";"aantal";"aantal";"aantal";"aantal";"aantal";"aantal";"aantal";"aantal"
"Misdrijven, totaal";"1200825";"1206565";"1154950";"1105565";"1025630";"978945";"930325";"832950";"786420";"821905";"813150";"758065";"810550";"816375";"811885"
"1 Vermogensmisdrijven";"715555";"723155";"704250";"690610";"631450";"614050";"576445";"502510";"457825";"473705";"471585";"419690";"448250";"464915";"464095"
"11 Diefstal/verduistering en inbraak";"670470";"677970";"656450";"650650";"592590";"549105";"498285";"428135";"380320";"374790";"330095";"287095";"349045";"364080";"358525"
"111 Diefstal en inbraak met geweld";"16290";"15590";"14945";"13350";"10455";"9730";"8990";"7985";"7785";"8595";"7305";"5545";"5965";"6015";"6335"
"112 Diefstal en inbraak zonder geweld";"654180";"662380";"641505";"637300";"582135";"539370";"489295";"420155";"372535";"366195";"322795";"281545";"343080";"358060";"352195"
"12 Bedrog";"27845";"25590";"27630";"21965";"19735";"37410";"45150";"39405";"41425";"53005";"60375";"52930";"43120";"51925";"63760"
"121 Oplichting";"27010";"24845";"26845";"21240";"19015";"35530";"42235";"37000";"39340";"51045";"58460";"51145";"41585";"46935";"53035"
"123 Bedrog (overig)";"310";"255";"250";"215";"240";"1690";"2915";"2400";"2080";"1955";"1915";"1780";"1530";"4985";"10720"
"13 Valsheidsmisdrijven";"9845";"11715";"12050";"9575";"9850";"18415";"24710";"27380";"27725";"36225";"70665";"69370";"45780";"38185";"32145"
"131 Muntmisdrijf";"1205";"965";"1130";"1425";"1915";"2430";"1980";"1600";"1445";"1540";"1130";"720";"400";"310";"340"
"132 Valsheid in zegels en merken";"175";"180";"215";"190";"205";"250";"250";"195";"185";"170";"200";"240";"180";"150";"185"
"133 Valsheid in geschriften";"8465";"10565";"10705";"7960";"7730";"15730";"22480";"25580";"26095";"34515";"69335";"68410";"45195";"37725";"31625"
"14 Heling";"5965";"6250";"6335";"6305";"6940";"6735";"5845";"5255";"5570";"6410";"6130";"5545";"6605";"6870";"6195"
"15 Afpersing en afdreiging";"1010";"1035";"1100";"1370";"1515";"1635";"1665";"1520";"1765";"1785";"2260";"2215";"2110";"2280";"1910"
"16 Bankbreuk";"85";"140";"190";"115";"170";"180";"180";"115";"110";"110";"110";"65";"55";"50";"85"
"17 Witwassen";"335";"455";"495";"640";"655";"570";"610";"695";"900";"1380";"1945";"2475";"1540";"1530";"1475"
"2 Vernielingen,misdropenborde/gezag";"185955";"182190";"162415";"141135";"135400";"122835";"115525";"102085";"93450";"102400";"109040";"106370";"105900";"103625";"102485"
"21 Vernieling en beschadiging";"151155";"148570";"133515";"117920";"109995";"101845";"94525";"81535";"72110";"76960";"78340";"71690";"70810";"69960";"72130"
"211 Vernieling aan auto";"69950";"67740";"60440";"54615";"50215";"47705";"43910";"37760";"32790";"34420";"32610";"28965";"28545";"28260";"30240"
"212 Vernieling aan openbaar gebouw";"11790";"8255";"2285";"2015";"1775";"1455";"1365";"1135";"920";"885";"940";"795";"740";"865";"1130"
"213 Vernieling middel openb vervoer";"2000";"2305";"2095";"1040";"925";"815";"1100";"1380";"850";"865";"1010";"810";"820";"560";"895"
"215 Vernieling, beschadiging (overig)";"67415";"70265";"68690";"60255";"57080";"51870";"48145";"41260";"37555";"40790";"43780";"41120";"40705";"40275";"39860"
"22 Openbare orde misdrijf";"21620";"20880";"17695";"13500";"15645";"11675";"11245";"11165";"11540";"14110";"19415";"23430";"24030";"22240";"17470"
"221 Openlijke geweldpleging";"9150";"8270";"7150";"5900";"5350";"4845";"4490";"4465";"4205";"4495";"3595";"4250";"4610";"4530";"4595"
"2211 Openlijk geweld tegen persoon";"7095";"6500";"5625";"4790";"4315";"3955";"3735";"3820";"3660";"3820";"2970";"3390";"4085";"4095";"4205"
"2212 Openlijke geweld tegen goed";"2060";"1770";"1525";"1110";"1035";"890";"750";"645";"550";"680";"630";"860";"520";"440";"395"
"222 Huisvredebreuk";"2490";"2605";"2635";"2605";"2675";"2330";"2535";"2340";"2565";"2915";"2885";"2740";"3280";"3475";"3975"
"223 Lokaalvredebreuk";"670";"535";"430";"405";"430";"425";"430";"365";"325";"325";"260";"245";"345";"420";"285"
"224 Computervredebreuk";"1070";"2025";"4620";"2535";"2045";"2225";"1875";"2320";"2945";"4865";"11270";"14645";"14165";"12210";"7065"
"225 Discriminatie";"440";"340";"305";"330";"3465";"450";"565";"405";"415";"495";"520";"555";"410";"515";"515"
"226 Openbare orde misdrijf (overig)";"7795";"7105";"2550";"1715";"1685";"1400";"1350";"1270";"1085";"1020";"880";"1000";"1225";"1095";"1030"
"23 Brandstichting / ontploffing";"7115";"6995";"6120";"5330";"5045";"4900";"4800";"4700";"4635";"4770";"5095";"4150";"4245";"4180";"5130"
"24 Openbaar gezag misdrijf";"6065";"5745";"5085";"4385";"4715";"4415";"4955";"4685";"5160";"6565";"6185";"7100";"6820";"7250";"7755"
"241 Niet opvolgen van ambtelijk bevel";"3905";"3610";"3090";"2495";"2785";"2400";"2965";"2895";"2905";"3370";"2900";"3375";"3060";"3555";"3885"
"242 Wederspannigheid";"1155";"1090";"1120";"1005";"980";"850";"890";"780";"1330";"2015";"1965";"2155";"2355";"2270";"2430"
"243 Valse aangifte";"470";"515";"490";"515";"525";"465";"450";"390";"345";"415";"350";"335";"270";"200";"180"
"245 Verblijf ongewenste vreemdeling";"255";"255";"150";"155";"175";"470";"370";"310";"190";"100";"70";"185";"190";"160";"150"
"246 Openbaar gezag misdrijf (overig)";"280";"275";"235";"220";"245";"230";"280";"310";"395";"660";"900";"1045";"940";"1065";"1105"
"3 Gewelds- en seksuele misdrijven";"115815";"114055";"110470";"103510";"98545";"92475";"90200";"85335";"83325";"83960";"80235";"76360";"80590";"76195";"78010"
"31 Mishandeling";"61445";"60455";"57585";"53445";"50905";"48280";"46990";"44760";"43020";"42615";"38295";"36390";"40960";"39730";"40350"
"32 Bedreiging en stalking";"38075";"37725";"37335";"35770";"33920";"31120";"29690";"27040";"26070";"27445";"28785";"26000";"24430";"22365";"22965"
"321 Bedreiging";"34350";"34135";"33740";"32315";"30605";"28115";"26760";"24220";"23100";"23410";"24390";"22360";"21240";"19455";"19880"
"322 Stalking";"3725";"3595";"3595";"3455";"3315";"3005";"2930";"2820";"2970";"4035";"4400";"3640";"3190";"2910";"3085"
"33 Seksueel misdrijf";"9720";"9130";"9055";"8550";"8190";"7730";"8235";"8425";"9120";"8335";"8090";"8785";"10125";"9290";"9890"
"331 Aanranding";"2495";"2190";"2075";"1950";"1820";"1720";"2220";"2210";"2385";"2250";"1955";"2270";"3000";"2570";"2440"
"332 Verkrachting";"1645";"1570";"1450";"1245";"1220";"1265";"1535";"1760";"1940";"2055";"2065";"2405";"2905";"2455";"2655"
"333 Schennis der eerbaarheid";"2015";"1940";"1875";"1700";"1590";"1445";"1380";"1275";"1300";"1070";"1235";"1095";"1015";"965";"935"
"334 Ontucht met minderjarige";"1055";"850";"1085";"1025";"1045";"875";"860";"875";"930";"1015";"910";"970";"1060";"840";"1615"
"335 Pornografie";"575";"570";"635";"785";"690";"660";"445";"425";"390";"540";"410";"460";"525";"605";"635"
"336 Ontucht met misbruik van gezag";"575";"560";"580";"615";"565";"565";"530";"550";"685";"705";"770";"830";"800";"695";"285"
"337 Seksueel misdrijf (overig)";"1360";"1450";"1360";"1230";"1255";"1195";"1265";"1325";"1495";"695";"750";"755";"820";"1160";"1325"
"34 Levensmisdrijf";"4105";"4230";"3890";"3525";"3370";"3255";"3120";"3010";"2870";"2660";"2750";"2735";"2845";"2590";"2540"
"35 Vrijheidsbeneming/gijzeling";"655";"580";"605";"525";"415";"440";"420";"400";"425";"515";"520";"460";"450";"455";"490"
"36 Mensenhandel en 244 mensensmokkel";"705";"720";"785";"590";"625";"625";"730";"725";"875";"1360";"765";"800";"860";"840";"770"
"37 Geweldsmisdrijf (overig)";"1115";"1215";"1215";"1100";"1115";"1035";"1020";"975";"945";"1030";"1030";"1190";"920";"930";"1000"
"4 Misdrijven WvSr (overig)";"10855";"11690";"11785";"11290";"12020";"11000";"11210";"10525";"10895";"11475";"12295";"11720";"11495";"10415";"10165"
"5 Verkeersmisdrijven";"143915";"146710";"136925";"131335";"122150";"114735";"114830";"111865";"118285";"125500";"115575";"120000";"140395";"135405";"131345"
"51 Verlaten plaats ongeval";"87820";"90780";"85975";"85410";"79835";"78340";"78750";"76930";"79210";"81345";"72900";"73020";"78665";"73985";"72340"
"52 Rijden onder invloed";"47525";"46890";"41140";"36205";"32280";"27230";"26475";"25775";"28945";"33295";"29625";"31910";"42725";"42140";"41635"
"53 Rijden tijdens ontzegging besturen";"2670";"2675";"3730";"3955";"4175";"3840";"4215";"4310";"4700";"4995";"6670";"7420";"9870";"10465";"9390"
"54 Rijden tijdens rijverbod";"135";"145";"150";"115";"135";"95";"90";"70";"90";"105";"150";"210";"320";"330";"380"
"55 Voeren vals kenteken";"845";"865";"825";"750";"715";"615";"660";"640";"705";"775";"940";"880";"965";"855";"945"
"56 Joyriding";"360";"340";"335";"305";"270";"280";"300";"250";"255";"310";"270";"255";"250";"230";"280"
"57 Weigeren blaastest/bloedonderzoek ed";"390";"415";"355";"330";"335";"310";"380";"340";"545";"650";"750";"1215";"2110";"2390";"2705"
"58 Verkeersmisdrijf (overig)";"4175";"4605";"4415";"4270";"4400";"4025";"3955";"3555";"3830";"4025";"4270";"5090";"5490";"5010";"3665"
"6 Drugsmisdrijven";"18030";"17130";"17580";"17035";"16310";"14770";"13275";"12525";"13370";"14700";"13285";"12200";"12240";"14335";"15300"
"61 Harddrugs";"8255";"7615";"7870";"7470";"7715";"7390";"6760";"6570";"7050";"7820";"6960";"6540";"7335";"8755";"8945"
"62 Softdrugs";"8620";"8425";"8860";"9070";"8195";"7005";"6295";"5740";"6140";"6690";"6160";"5525";"4715";"5395";"6185"
"6.3 Drugsmisdrijf (overig)";"1155";"1095";"850";"495";"400";"375";"220";"215";"180";"195";"165";"135";"190";"185";"165"
"7 Vuurwapenmisdrijven";"6500";"7405";"7045";"6520";"5875";"5545";"5415";"4740";"5470";"6580";"6820";"6995";"7090";"7005";"7310"
"9 Misdrijven overige wetten";"4195";"4230";"4480";"4130";"3880";"3530";"3425";"3370";"3805";"3580";"4320";"4735";"4585";"4480";"3175"
"91 Militaire misdrijven";"75";"70";"55";"45";"60";"40";"30";"20";"25";"20";"5";"5";"5";"15";"15"
"92 Misdrijven (overig)";"4120";"4160";"4425";"4085";"3820";"3490";"3395";"3350";"3780";"3560";"4310";"4730";"4575";"4465";"3160"
"Bron: CBS"
import pandas as pd
import matplotlib.pyplot as plt
# === 1️⃣ Load and clean population data ===
df_pop = pd.read_csv("../data/samenstelling.csv", sep=";", header=3, skiprows=[4], encoding="utf-8")
df_pop.rename(columns={"Unnamed: 0": "Regio", "Unnamed: 1": "Perioden"}, inplace=True)
df_pop = df_pop[df_pop["Regio"] == "Nederland"].copy()
df_pop = df_pop[[
"Perioden",
"Bevolking|Bevolkingssamenstelling op 1 januari|Migratieachtergrond|Migratieachtergrond|Nederlandse achtergrond",
"Bevolking|Bevolkingssamenstelling op 1 januari|Migratieachtergrond|Migratieachtergrond|Met migratieachtergrond|Westerse migratieachtergrond",
"Bevolking|Bevolkingssamenstelling op 1 januari|Migratieachtergrond|Migratieachtergrond|Met migratieachtergrond|Niet-westerse migratieachtergrond|Totaal niet-westerse migratieachtergrond"
]].copy()
df_pop.columns = ["Jaar", "Nederlandse", "Westerse", "Niet-westerse"]
for c in ["Nederlandse", "Westerse", "Niet-westerse"]:
df_pop[c] = pd.to_numeric(df_pop[c], errors="coerce")
df_pop.set_index("Jaar", inplace=True)
df_pop.columns = [f"{c}_pop" for c in df_pop.columns]
# === 2️⃣ Load and clean crime data ===
df_crime = pd.read_csv("../data/verdachten.csv", sep=";", header=[5, 6, 7])
df_crime.columns = df_crime.columns.map(lambda x: f"{x[0]}|{x[1]}|{x[2]}" if x[0] != "Perioden" else "Groep")
df_crime.columns = df_crime.columns.str.strip()
df_crime["Groep"] = df_crime["Groep"].str.strip()
groups = ["Nederlandse achtergrond", "Westerse migratieachtergrond", "Niet-westerse migratieachtergrond"]
df_crime = df_crime[df_crime["Groep"].isin(groups)].set_index("Groep")
woon_cols = [col for col in df_crime.columns if "Verdachten met woonadres in Nederland" in col]
df_crime_plot = df_crime[woon_cols].transpose().reset_index()
df_crime_plot["Jaar"] = df_crime_plot["index"].str.extract(r"(^\d{4})")
df_crime_plot = df_crime_plot.set_index("Jaar")[groups].dropna().astype(int)
df_crime_plot.columns = ["Nederlandse", "Westerse", "Niet-westerse"]
df_crime_plot.columns = [f"{c}_crime" for c in df_crime_plot.columns]
# === 3️⃣ Combine and compute average overrepresentation ===
df_pop.index = df_pop.index.astype(float).astype(int).astype(str)
df_crime_plot.index = df_crime_plot.index.astype(int).astype(str)
df = df_pop.join(df_crime_plot, how="inner")
# Compute shares
pop_cols = [c for c in df.columns if c.endswith("_pop")]
crime_cols = [c for c in df.columns if c.endswith("_crime")]
pop_share = df[pop_cols].div(df[pop_cols].sum(axis=1), axis=0)
crime_share = df[crime_cols].div(df[crime_cols].sum(axis=1), axis=0)
# Ratio of crime share to population share
ratio = crime_share.values / pop_share.values
df_ratio = pd.DataFrame(ratio, index=df.index, columns=["Nederlandse", "Westerse migranten", "Niet-westerse migranten"])
# Compute average over time (2015–2022)
avg_ratios = df_ratio.mean()
# === 4️⃣ Plot bar chart ===
colors = ["#4caf50", "#ff9800", "#2196f3"]
plt.figure(figsize=(8, 5))
bars = plt.bar(avg_ratios.index, avg_ratios.values, color=colors)
plt.axhline(1.0, color="gray", linestyle="--", linewidth=1)
plt.ylabel("Gemiddelde oververtegenwoordiging (2015–2022)")
plt.title("Over- of ondervertegenwoordiging t.o.v. bevolkingsaandeel")
plt.ylim(0, max(avg_ratios.values) * 1.25)
# Annotate each bar
for bar in bars:
yval = bar.get_height()
plt.text(bar.get_x() + bar.get_width() / 2, yval + 0.07, f"{yval:.2f}×", ha="center", va="bottom")
plt.grid(axis="y", linestyle=":", alpha=0.4)
plt.tight_layout()
plt.show()
We can make this file beautiful and searchable if this error is corrected: No commas found in this CSV file in line 0.
"Bevolkingsontwikkeling; regio per maand"
""
"";"";"";"Perioden"
"Regio's";"Onderwerp";"";"2010";"2011";"2012";"2013";"2014";"2015";"2016";"2017";"2018";"2019";"2020";"2021";"2022";"2023";"2024"
"Nederland";"Bevolking aan het begin van de periode";"aantal";"16574989";"16655799";"16730348";"16779575";"16829289";"16900726";"16979120";"17081507";"17181084";"17282163";"17407585";"17475415";"17590672";"17811291";"17942942"
"Nederland";"Bevolking aan het einde van de periode";"aantal";"16655799";"16730348";"16779575";"16829289";"16900726";"16979120";"17081507";"17181084";"17282163";"17407585";"17475415";"17590672";"17811291";"17942942";"18044027"
"Bron: CBS"
We can make this file beautiful and searchable if this error is corrected: Any value after quoted field isn't allowed in line 3.
"Regionale kerncijfers Nederland"
""
"";"";"Onderwerp"
"";"";"Bevolking|Bevolkingssamenstelling op 1 januari|Totale bevolking";"Bevolking|Bevolkingssamenstelling op 1 januari|Migratieachtergrond|Migratieachtergrond|Nederlandse achtergrond";"Bevolking|Bevolkingssamenstelling op 1 januari|Migratieachtergrond|Migratieachtergrond|Met migratieachtergrond|Totaal met migratieachtergrond";"Bevolking|Bevolkingssamenstelling op 1 januari|Migratieachtergrond|Migratieachtergrond|Met migratieachtergrond|Westerse migratieachtergrond";"Bevolking|Bevolkingssamenstelling op 1 januari|Migratieachtergrond|Migratieachtergrond|Met migratieachtergrond|Niet-westerse migratieachtergrond|Totaal niet-westerse migratieachtergrond";"Bevolking|Bevolkingssamenstelling op 1 januari|Migratieachtergrond|Migratieachtergrond|Met migratieachtergrond|Niet-westerse migratieachtergrond|Marokko";"Bevolking|Bevolkingssamenstelling op 1 januari|Migratieachtergrond|Migratieachtergrond|Met migratieachtergrond|Niet-westerse migratieachtergrond|(voormalige) Nederlandse Antillen, Aruba";"Bevolking|Bevolkingssamenstelling op 1 januari|Migratieachtergrond|Migratieachtergrond|Met migratieachtergrond|Niet-westerse migratieachtergrond|Suriname";"Bevolking|Bevolkingssamenstelling op 1 januari|Migratieachtergrond|Migratieachtergrond|Met migratieachtergrond|Niet-westerse migratieachtergrond|Turkije";"Bevolking|Bevolkingssamenstelling op 1 januari|Migratieachtergrond|Migratieachtergrond|Met migratieachtergrond|Niet-westerse migratieachtergrond|Overig niet-westerse migratieachtergrond";"Bevolking|Bevolkingssamenstelling op 1 januari|Migratieachtergrond|Migratieachtergrond, relatief|Nederlandse achtergrond";"Bevolking|Bevolkingssamenstelling op 1 januari|Migratieachtergrond|Migratieachtergrond, relatief|Met migratieachtergrond|Totaal met migratieachtergrond";"Bevolking|Bevolkingssamenstelling op 1 januari|Migratieachtergrond|Migratieachtergrond, relatief|Met migratieachtergrond|Westerse migratieachtergrond";"Bevolking|Bevolkingssamenstelling op 1 januari|Migratieachtergrond|Migratieachtergrond, relatief|Met migratieachtergrond|Niet-westerse migratieachtergrond|Totaal niet-westerse migratieachtergrond";"Bevolking|Bevolkingssamenstelling op 1 januari|Migratieachtergrond|Migratieachtergrond, relatief|Met migratieachtergrond|Niet-westerse migratieachtergrond|Marokko";"Bevolking|Bevolkingssamenstelling op 1 januari|Migratieachtergrond|Migratieachtergrond, relatief|Met migratieachtergrond|Niet-westerse migratieachtergrond|(voormalige) Nederlandse Antillen, Aruba";"Bevolking|Bevolkingssamenstelling op 1 januari|Migratieachtergrond|Migratieachtergrond, relatief|Met migratieachtergrond|Niet-westerse migratieachtergrond|Suriname";"Bevolking|Bevolkingssamenstelling op 1 januari|Migratieachtergrond|Migratieachtergrond, relatief|Met migratieachtergrond|Niet-westerse migratieachtergrond|Turkije";"Bevolking|Bevolkingssamenstelling op 1 januari|Migratieachtergrond|Migratieachtergrond, relatief|Met migratieachtergrond|Niet-westerse migratieachtergrond|Overig niet-westerse migratieachtergrond";"Bevolking|Bevolkingsontwikkeling|Immigratie en emigratie|Immigratie";"Bevolking|Bevolkingsontwikkeling|Immigratie en emigratie|Emigratie";"Bevolking|Bevolkingsontwikkeling|Immigratie en emigratie|Migratiesaldo";"Bevolking|Bevolkingsontwikkeling|Immigratie en emigratie|Migratiesaldo, relatief"
"Regio's";"Perioden";"aantal";"aantal";"aantal";"aantal";"aantal";"aantal";"aantal";"aantal";"aantal";"aantal";"%";"%";"%";"%";"%";"%";"%";"%";"%";"aantal";"aantal";"aantal";"per 1 000 inwoners"
"Nederland";"2015";"16900726";"13235405";"3665321";"1626812";"2038509";"380755";"148926";"348662";"396555";"763611";"78,3";"21,7";"9,6";"12,1";"2,3";"0,9";"2,1";"2,3";"4,5";"204615";"149509";"55106";"3,3"
"Nederland";"2016";"16979120";"13226829";"3752291";"1655699";"2096592";"385761";"150981";"349022";"397471";"813357";"77,9";"22,1";"9,8";"12,3";"2,3";"0,9";"2,1";"2,3";"4,8";"230739";"151545";"79194";"4,7"
"Nederland";"2017";"17081507";"13218754";"3862753";"1689030";"2173723";"391088";"153469";"349978";"400367";"878821";"77,4";"22,6";"9,9";"12,7";"2,3";"0,9";"2,0";"2,3";"5,1";"234957";"154292";"80665";"4,7"
"Nederland";"2018";"17181084";"13209225";"3971859";"1729016";"2242843";"396539";"157114";"351681";"404459";"933050";"76,9";"23,1";"10,1";"13,1";"2,3";"0,9";"2,0";"2,4";"5,4";"243737";"157366";"86371";"5,0"
"Nederland";"2019";"17282163";"13196025";"4086138";"1774271";"2311867";"402492";"161265";"353909";"409877";"984324";"76,4";"23,6";"10,3";"13,4";"2,3";"0,9";"2,0";"2,4";"5,7";"269064";"161029";"108035";"6,2"
"Nederland";"2020";"17407585";"13186880";"4220705";"1828645";"2392060";"408864";"166265";"356402";"416864";"1043665";"75,8";"24,2";"10,5";"13,7";"2,3";"1,0";"2,0";"2,4";"6,0";"220853";"152494";"68359";"3,9"
"Nederland";"2021";"17475415";"13169507";"4305908";"1858730";"2447178";"414186";"171413";"358266";"422030";"1081283";"75,4";"24,6";"10,6";"14,0";"2,4";"1,0";"2,1";"2,4";"6,2";"252528";"145330";"107198";"6,1"
"Nederland";"2022";"17590672";"13151772";"4438900";"1909408";"2529492";"419272";"176912";"359814";"429978";"1143516";"74,8";"25,2";"10,9";"14,4";"2,4";"1,0";"2,0";"2,4";"6,5";"403108";"179310";"223798";"12,6"
"Bron: CBS"
We can make this file beautiful and searchable if this error is corrected: Any value after quoted field isn't allowed in line 6.
"Verdachten; geslacht, leeftijd, migratieachtergrond en generatie 1999-2022"
"Geslacht: Totaal mannen en vrouwen"
"Leeftijd: Totaal"
"Generatie: Totaal"
""
"Perioden";"2015";"2015";"2015";"2016";"2016";"2016";"2017";"2017";"2017";"2018";"2018";"2018";"2019";"2019";"2019";"2020";"2020";"2020";"2021*";"2021*";"2021*";"2022*";"2022*";"2022*"
"Onderwerp";"Geregistreerde verdachten|Totaal verdachten van misdrijven";"Geregistreerde verdachten|Verdachten met woonadres in Nederland";"Geregistreerde verdachten|Verdachten per 10 000 inwoners";"Geregistreerde verdachten|Totaal verdachten van misdrijven";"Geregistreerde verdachten|Verdachten met woonadres in Nederland";"Geregistreerde verdachten|Verdachten per 10 000 inwoners";"Geregistreerde verdachten|Totaal verdachten van misdrijven";"Geregistreerde verdachten|Verdachten met woonadres in Nederland";"Geregistreerde verdachten|Verdachten per 10 000 inwoners";"Geregistreerde verdachten|Totaal verdachten van misdrijven";"Geregistreerde verdachten|Verdachten met woonadres in Nederland";"Geregistreerde verdachten|Verdachten per 10 000 inwoners";"Geregistreerde verdachten|Totaal verdachten van misdrijven";"Geregistreerde verdachten|Verdachten met woonadres in Nederland";"Geregistreerde verdachten|Verdachten per 10 000 inwoners";"Geregistreerde verdachten|Totaal verdachten van misdrijven";"Geregistreerde verdachten|Verdachten met woonadres in Nederland";"Geregistreerde verdachten|Verdachten per 10 000 inwoners";"Geregistreerde verdachten|Totaal verdachten van misdrijven";"Geregistreerde verdachten|Verdachten met woonadres in Nederland";"Geregistreerde verdachten|Verdachten per 10 000 inwoners";"Geregistreerde verdachten|Totaal verdachten van misdrijven";"Geregistreerde verdachten|Verdachten met woonadres in Nederland";"Geregistreerde verdachten|Verdachten per 10 000 inwoners"
"Migratieachtergrond";"aantal";"aantal";"aantal";"aantal";"aantal";"aantal";"aantal";"aantal";"aantal";"aantal";"aantal";"aantal";"aantal";"aantal";"aantal";"aantal";"aantal";"aantal";"aantal";"aantal";"aantal";"aantal";"aantal";"aantal"
"Totaal";"200400";"174350";"118";"186910";"161800";"109";"172550";"148230";"99";"165960";"141440";"94";"167850";"143030";"94";"156200";"132500";"86";"146210";"124070";"80";"158290";"130310";"83"
"Nederlandse achtergrond";"104810";"100690";"87";"96160";"92220";"79";"88120";"84530";"73";"83140";"80000";"69";"82340";"79310";"68";"74610";"72010";"62";"70300";"68040";"59";"72890";"70790";"61"
"Met migratieachtergrond";"94950";"73670";"232";"90220";"69580";"213";"83760";"63700";"189";"82010";"61440";"177";"84590";"63710";"177";"80950";"60500";"164";"75370";"56020";"147";"84520";"59520";"150"
"Niet-westerse migratieachtergrond";"62880";"56030";"330";"60050";"53030";"300";"55190";"48420";"264";"53790";"46720";"246";"55060";"47970";"243";"52870";"45950";"226";"48600";"42180";"200";"52840";"44140";"202"
"Westerse migratieachtergrond";"32070";"17640";"120";"30170";"16550";"110";"28570";"15280";"99";"28220";"14720";"93";"29520";"15740";"97";"28080";"14550";"88";"26770";"13850";"82";"31680";"15380";"86"
"Afghanistan";"1120";"1030";"292";"1100";"970";"263";"1030";"940";"246";"920";"830";"213";"910";"830";"208";"850";"780";"190";"760";"700";"165";"800";"730";"159"
"Algerije";"470";"280";"407";"670";"250";"361";"730";"250";"354";"880";"230";"316";"1000";"260";"343";"1020";"230";"292";"1230";"210";"260";"2360";"230";"273"
"Angola";"380";"330";"530";"320";"270";"436";"290";"250";"396";"290";"260";"387";"280";"240";"353";"270";"230";"329";"260";"240";"327";"300";"270";"354"
"Argentinië";"50";"40";"95";"40";"30";"68";"40";"30";"60";"60";"40";"78";"50";"40";"60";"60";"40";"62";"40";"30";"48";"80";"60";"78"
"Australië";"260";"220";"159";"230";"170";"121";"200";"160";"110";"190";"160";"108";"180";"160";"100";"170";"170";"106";"170";"160";"104";"170";"150";"96"
"België";"2380";"1100";"109";"2120";"1040";"102";"1940";"940";"91";"1870";"900";"87";"1920";"960";"91";"1840";"890";"84";"1590";"820";"76";"1780";"830";"77"
"Brazilië";"360";"300";"164";"340";"260";"140";"360";"280";"134";"360";"280";"123";"380";"280";"108";"320";"260";"94";"360";"270";"90";"450";"340";"106"
"Bulgarije";"1110";"500";"246";"980";"480";"217";"980";"470";"189";"1030";"530";"191";"1130";"600";"186";"1220";"650";"177";"1250";"660";"158";"1550";"800";"175"
"Canada";"180";"170";"128";"170";"150";"113";"140";"110";"83";"130";"120";"82";"150";"130";"89";"120";"100";"71";"90";"80";"56";"120";"110";"71"
"Chili";"160";"100";"216";"110";"70";"153";"90";"60";"120";"130";"70";"133";"100";"60";"113";"110";"70";"127";"70";"60";"101";"130";"80";"129"
"China";"530";"460";"79";"460";"380";"63";"450";"340";"55";"420";"350";"53";"440";"350";"51";"370";"270";"39";"340";"280";"39";"380";"340";"46"
"Colombia";"370";"300";"258";"350";"270";"223";"330";"250";"191";"360";"260";"187";"380";"290";"200";"370";"280";"182";"350";"270";"160";"480";"320";"180"
"Congo (Democratische Republiek)";"310";"260";"404";"310";"270";"407";"300";"250";"379";"270";"240";"353";"280";"240";"343";"270";"240";"331";"230";"200";"274";"240";"200";"274"
"Denemarken";"70";"40";"72";"70";"40";"69";"80";"50";"82";"60";"40";"70";"60";"40";"66";"50";"30";"41";"50";"30";"55";"40";"40";"56"
"Dominicaanse Republiek";"660";"560";"515";"610";"520";"463";"550";"460";"397";"560";"480";"400";"560";"470";"371";"550";"470";"355";"460";"400";"293";"480";"450";"320"
"Duitsland";"3720";"2670";"79";"3520";"2430";"73";"3170";"2200";"66";"2870";"1960";"60";"2810";"1990";"61";"2580";"1820";"56";"2550";"1720";"54";"2650";"1740";"55"
"Egypte";"670";"600";"324";"620";"540";"279";"570";"500";"243";"540";"460";"213";"570";"520";"226";"550";"500";"211";"430";"400";"160";"520";"470";"181"
"Ethiopië";"390";"340";"281";"440";"390";"244";"480";"430";"243";"450";"400";"208";"420";"400";"193";"410";"370";"175";"370";"340";"154";"380";"360";"159"
"Filippijnen";"150";"140";"84";"150";"130";"79";"130";"110";"64";"120";"110";"61";"130";"120";"60";"120";"110";"52";"120";"110";"51";"130";"120";"52"
"Finland";"60";"40";"90";"30";"20";"46";"40";"20";"45";"40";"20";"45";"40";"30";"53";"30";"20";"47";"30";"20";"36";"30";"30";"54"
"Frankrijk";"1150";"390";"112";"940";"370";"103";"870";"370";"96";"910";"350";"89";"970";"380";"93";"1020";"330";"76";"1040";"300";"68";"1170";"330";"73"
"Ghana";"650";"580";"311";"620";"540";"280";"580";"510";"263";"610";"550";"271";"550";"490";"233";"530";"490";"227";"510";"450";"204";"450";"410";"178"
"Guyana";"120";"120";"310";"130";"120";"331";"120";"110";"286";"100";"90";"229";"100";"80";"217";"100";"90";"219";"80";"70";"181";"90";"80";"199"
"Hongarije";"400";"230";"121";"410";"220";"110";"430";"210";"102";"430";"220";"104";"450";"220";"97";"430";"190";"80";"370";"180";"71";"510";"220";"88"
"Hongkong";"120";"110";"65";"100";"90";"54";"80";"80";"46";"80";"80";"44";"80";"70";"40";"60";"60";"34";"50";"50";"27";"60";"60";"32"
"Ierland";"220";"100";"129";"190";"100";"123";"180";"70";"81";"170";"80";"92";"170";"80";"83";"140";"70";"67";"130";"90";"81";"150";"80";"72"
"India";"300";"240";"95";"300";"230";"80";"280";"230";"69";"250";"210";"55";"270";"240";"53";"260";"220";"48";"260";"230";"45";"300";"260";"45"
"Indonesië";"3240";"3060";"86";"2930";"2760";"78";"2520";"2370";"67";"2290";"2160";"62";"2280";"2170";"62";"1950";"1850";"54";"1690";"1600";"47";"1660";"1600";"47"
"Irak";"1500";"1330";"298";"1570";"1370";"290";"1430";"1240";"254";"1430";"1230";"243";"1450";"1290";"248";"1390";"1250";"234";"1250";"1100";"200";"1260";"1110";"196"
"Iran";"1090";"950";"289";"1080";"910";"263";"980";"850";"236";"960";"840";"224";"970";"840";"208";"870";"760";"180";"690";"620";"141";"800";"710";"154"
"Israël";"150";"100";"143";"150";"90";"125";"140";"90";"121";"150";"90";"114";"140";"90";"106";"90";"70";"82";"80";"70";"75";"100";"70";"83"
"Italië";"970";"640";"150";"920";"610";"135";"860";"560";"118";"800";"540";"107";"820";"570";"106";"740";"490";"89";"630";"450";"80";"720";"500";"84"
"Japan";"30";"20";"28";"20";"20";"26";"20";"20";"30";"30";"20";"27";"30";"10";"16";"20";"20";"23";"20";"20";"23";"20";"20";"19"
"(voormalig) Joegoslavië";"2370";"1760";"248";"2280";"1690";"234";"1880";"1470";"200";"1930";"1480";"197";"1850";"1470";"190";"1540";"1200";"165";"1430";"1090";"146";"1390";"1040";"137"
"Kaapverdië";"760";"690";"353";"660";"590";"299";"650";"590";"295";"580";"530";"261";"600";"540";"264";"540";"490";"237";"490";"460";"218";"570";"530";"249"
"Libanon";"160";"140";"305";"180";"150";"313";"140";"110";"225";"150";"110";"211";"170";"140";"241";"160";"130";"215";"120";"100";"158";"140";"130";"178"
"Maleisië";"40";"40";"77";"30";"30";"60";"30";"30";"64";"30";"30";"49";"20";"20";"39";"20";"20";"32";"30";"30";"46";"40";"30";"53"
"Marokko";"15810";"14340";"481";"14760";"13090";"428";"13440";"11830";"377";"13010";"11280";"351";"13540";"11800";"357";"13570";"11700";"345";"12580";"10670";"308";"12810";"10470";"295"
"Mexico";"50";"30";"67";"50";"30";"64";"50";"20";"42";"60";"40";"74";"40";"20";"36";"40";"20";"34";"20";"20";"23";"50";"30";"39"
"(voormalige) Nederlandse Antillen, Aruba";"7250";"6570";"528";"6850";"6260";"494";"6390";"5810";"448";"6100";"5540";"416";"6210";"5640";"410";"5900";"5380";"388";"5270";"4880";"340";"5650";"5250";"357"
"Nieuw-Zeeland";"60";"50";"114";"60";"50";"112";"60";"50";"108";"50";"50";"94";"60";"50";"102";"40";"40";"68";"40";"40";"78";"60";"50";"94"
"Nigeria";"320";"240";"270";"280";"210";"229";"320";"250";"276";"300";"210";"213";"360";"260";"239";"350";"250";"215";"350";"270";"213";"390";"270";"187"
"Noorwegen";"60";"40";"113";"50";"30";"73";"40";"30";"65";"40";"20";"57";"40";"20";"45";"40";"20";"47";"40";"20";"46";"30";"20";"51"
"Oostenrijk";"170";"140";"98";"180";"140";"98";"150";"110";"78";"140";"120";"80";"150";"120";"81";"120";"90";"62";"100";"80";"57";"110";"70";"49"
"Pakistan";"440";"380";"218";"370";"330";"182";"360";"310";"167";"330";"290";"148";"310";"270";"131";"310";"270";"130";"310";"280";"127";"330";"290";"123"
"Peru";"70";"50";"116";"80";"50";"110";"80";"60";"112";"70";"50";"92";"70";"50";"89";"60";"50";"77";"60";"60";"83";"110";"60";"80"
"Polen";"6080";"2390";"196";"5960";"2320";"177";"6210";"2300";"164";"6410";"2310";"153";"6800";"2660";"164";"7220";"2670";"155";"7130";"2720";"148";"8340";"3180";"165"
"Portugal";"610";"400";"190";"530";"380";"176";"490";"340";"154";"480";"350";"153";"510";"340";"139";"500";"350";"140";"480";"330";"123";"620";"380";"134"
"Roemenië";"2780";"350";"187";"2280";"330";"159";"2270";"340";"142";"2360";"330";"116";"2460";"440";"131";"2720";"480";"130";"2420";"430";"103";"3420";"550";"121"
"Sierra Leone";"240";"200";"476";"210";"170";"415";"220";"200";"467";"200";"160";"384";"200";"170";"378";"190";"170";"363";"190";"150";"324";"180";"160";"320"
"Singapore";"30";"30";"67";"40";"30";"75";"30";"30";"59";"40";"30";"73";"30";"30";"52";"30";"30";"64";"40";"30";"72";"30";"30";"53"
"Soedan";"170";"140";"292";"180";"150";"274";"180";"140";"247";"190";"140";"238";"180";"150";"233";"190";"160";"245";"170";"150";"217";"190";"150";"209"
"Somalië";"1380";"1180";"427";"1400";"1170";"423";"1300";"1110";"394";"1230";"1050";"366";"1390";"1180";"403";"1280";"1120";"374";"1170";"1010";"331";"1260";"1080";"344"
"Voormalige Sovjet-Unie";"2660";"1270";"197";"2570";"1140";"169";"2660";"1140";"158";"2750";"1090";"140";"3170";"1250";"147";"2640";"1170";"130";"2540";"1050";"109";"3480";"1500";"95"
"Spanje";"670";"450";"129";"630";"420";"116";"610";"410";"108";"580";"380";"96";"630";"410";"98";"590";"400";"93";"660";"440";"95";"1000";"490";"102"
"Sri Lanka";"180";"160";"181";"180";"160";"176";"150";"140";"150";"150";"140";"149";"150";"130";"132";"120";"120";"114";"150";"140";"133";"130";"110";"104"
"Suriname";"12200";"11220";"363";"11420";"10490";"336";"10050";"9220";"293";"9620";"8890";"279";"9590";"8890";"276";"8530";"7960";"244";"7760";"7350";"223";"7950";"7530";"227"
"Syrië";"760";"550";"201";"1170";"1020";"205";"1360";"1220";"189";"1550";"1390";"196";"1700";"1550";"201";"1730";"1500";"180";"1860";"1680";"178";"2380";"2010";"191"
"Thailand";"210";"190";"127";"190";"180";"111";"180";"170";"100";"170";"160";"92";"160";"140";"80";"160";"150";"79";"160";"160";"82";"170";"170";"83"
"Voormalig Tsjecho-Slowakije";"360";"160";"115";"370";"160";"107";"360";"180";"120";"360";"170";"106";"440";"210";"123";"410";"200";"110";"440";"200";"107";"530";"220";"110"
"Tunesië";"410";"350";"454";"410";"310";"397";"390";"290";"358";"480";"280";"330";"450";"270";"309";"490";"280";"305";"530";"260";"280";"620";"270";"272"
"Turkije";"9760";"9000";"269";"9180";"8510";"251";"7980";"7330";"213";"7560";"6970";"199";"7680";"7100";"198";"7410";"6860";"188";"6520";"6080";"163";"6600";"6160";"161"
"Venezuela";"100";"80";"167";"100";"80";"155";"90";"70";"124";"110";"80";"136";"120";"100";"151";"100";"80";"107";"110";"90";"113";"120";"100";"115"
"Verenigde Staten van Amerika";"380";"290";"94";"360";"290";"88";"360";"270";"76";"370";"280";"75";"380";"280";"72";"290";"230";"59";"290";"240";"59";"330";"250";"59"
"Verenigd Koninkrijk";"1240";"750";"105";"1230";"750";"101";"1050";"670";"88";"990";"630";"81";"1060";"690";"85";"870";"630";"75";"740";"610";"72";"840";"640";"74"
"Vietnam";"310";"250";"139";"270";"230";"125";"280";"240";"124";"190";"160";"79";"210";"180";"84";"170";"120";"58";"170";"130";"62";"170";"150";"69"
"Zuid-Afrika";"180";"170";"109";"170";"150";"93";"170";"160";"90";"180";"160";"85";"170";"150";"72";"170";"160";"70";"170";"160";"62";"200";"180";"64"
"Zuid-Korea";"50";"40";"88";"50";"40";"72";"40";"40";"63";"40";"40";"63";"50";"40";"64";"40";"30";"48";"50";"50";"67";"60";"50";"69"
"Zweden";"80";"40";"71";"90";"50";"78";"90";"50";"79";"70";"40";"65";"90";"40";"54";"60";"40";"56";"60";"30";"45";"70";"40";"54"
"Zwitserland";"110";"70";"74";"120";"80";"83";"100";"70";"76";"90";"50";"49";"120";"70";"71";"90";"70";"63";"80";"70";"60";"80";"70";"60"
"Overige migratieachtergrond";"3140";"2110";"233";"3300";"2190";"222";"3180";"2080";"197";"3290";"2170";"190";"3370";"2320";"186";"3390";"2480";"175";"3170";"2290";"150";"3770";"2750";"169"
"Onbekend migratieachtergrond";"640";"";"";"520";"";"";"670";"";"";"800";"";"";"930";"";"";"650";"";"";"540";"";"";"880";"";""
"Bron: CBS"
We can make this file beautiful and searchable if this error is corrected: No commas found in this CSV file in line 0.
"Regionale kerncijfers Nederland"
""
"";"";"Onderwerp"
"";"";"Bevolking|Bevolkingssamenstelling op 1 januari|Geslacht|Vrouwen"
"Regio's";"Perioden";"aantal"
"Nederland";"2010";"8371513"
"Nederland";"2011";"8412317"
"Nederland";"2012";"8447477"
"Nederland";"2013";"8472236"
"Nederland";"2014";"8494904"
"Nederland";"2015";"8527868"
"Nederland";"2016";"8561985"
"Nederland";"2017";"8606405"
"Nederland";"2018";"8654043"
"Nederland";"2019";"8701077"
"Nederland";"2020";"8759554"
"Nederland";"2021";"8788879"
"Nederland";"2022";"8845204"
"Nederland";"2023";"8960982"
"Nederland";"2024";"9022174"
"Nederland";"2025";"9065576"
"Bron: CBS"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment