stembureau-meting/jupyter/stembureau_data.ipynb

7688 lines
2.9 MiB
Plaintext
Raw Permalink Normal View History

2022-03-29 17:09:40 +02:00
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
2022-05-06 14:51:01 +02:00
"# Datasets gemeenteraadsverkiezingen 2022\n",
"Deze notebook heeft als doel de stemlokalen van de gemeenteraadsverkiezingen van 2022 te analyseren. Er zal hier stap voor stap door de data gelopen worden om het proces reproduceerbaar te maken voor latere verkiezingen. De eerste stap was de data ophalen van de bronnen, zowel van de overheid als van 'Waar is mijn stemlokaal' (voor geografische data van de stemlokalen). Deze bronnen zijn voor de verkiezingen van 2022 gebruikt:\n",
2022-04-12 16:39:06 +02:00
"- [Verkiezingsuitslagen Gemeenteraad 2022](https://data.overheid.nl/dataset/08b04bec-3332-4c76-bb0c-68bfaeb5df43)\n",
2022-05-06 14:51:01 +02:00
" - [Directe link naar uitslagen per gemeente EML](https://data.overheid.nl/sites/default/files/dataset/08b04bec-3332-4c76-bb0c-68bfaeb5df43/resources/GR2022_2022-03-29T15.14.zip)\n",
" - [Directe link naar kandidatenlijst met uitslagen CSV](https://data.overheid.nl/sites/default/files/dataset/08b04bec-3332-4c76-bb0c-68bfaeb5df43/resources/GR2022_alle-kandidaten_2022-02-22T08.34.csv)\n",
2022-05-06 14:51:01 +02:00
"- ['Waar is mijn stemlokaal' stembureau data](https://waarismijnstemlokaal.nl/data)\n",
" - [Directe link naar 'Waar is mijn stemlokaal' gemeenteraad 2022 CSV (CKAN)](https://ckan.dataplatform.nl/datastore/dump/d6a1b4c4-73c8-457b-9b75-a38428bded68)\n",
" - [Verkiezingsuitslagen gemeenteraadsverkiezingen 2022 geodata vab Open State Foundation en de Volkskrant (OSF/VK)](https://data.openstate.eu/dataset/verkiezingsuitslagen-gemeenteraadsverkiezingen-2022)\n",
" - [Directe link naar GeoJSON bestand](https://data.openstate.eu/dataset/a1767f1b-bf0c-409b-b3b1-3af9954b57f4/resource/413be255-5070-48f4-b631-895097976abb/download/2022gr.geo.json)\n",
"- [CBS Wijk- en buurtkaart 2021](https://www.cbs.nl/nl-nl/dossier/nederland-regionaal/geografische-data/wijk-en-buurtkaart-2021)\n",
" - [Directe link naar zip bestand met SHP bestand er in](https://www.cbs.nl/-/media/cbs/dossiers/nederland-regionaal/wijk-en-buurtstatistieken/wijkbuurtkaart_2021_v1.zip)\n",
2022-04-12 16:39:06 +02:00
"- [CBS bevolkingsdichtheid kaart 100 bij 100 meter](https://www.cbs.nl/nl-nl/dossier/nederland-regionaal/geografische-data/kaart-van-100-meter-bij-100-meter-met-statistieken)\n",
" - [Directe link naar 7z bestand met SHP bestand er in](https://www.cbs.nl/-/media/cbs/dossiers/nederland-regionaal/vierkanten/100/nl_vierkant_100meter_bij_100meter.7z)\n",
2022-04-12 16:39:06 +02:00
"- [CBS bevolkingsdichtheid kaart 500 bij 500 meter](https://www.cbs.nl/nl-nl/dossier/nederland-regionaal/geografische-data/kaart-van-500-meter-bij-500-meter-met-statistieken)\n",
" - [Directe link naar 7z bestand met SHP bestand er in](https://www.cbs.nl/-/media/cbs/dossiers/nederland-regionaal/vierkanten/500/2022-cbs_vk500_2021_v1.zip)\n",
2022-05-03 13:06:50 +02:00
"- [CBS schatting van kiesgerechtigden per gemeente](https://www.cbs.nl/nl-nl/maatwerk/2020/52/schatting-van-het-aantal-kiesgerechtigden-in-nederland)\n",
2022-03-29 17:09:52 +02:00
"\n",
2022-05-06 14:51:01 +02:00
"# Data inladen en eerste analyse\n",
"## OSF/VK GeoJSON dataset: verkiezingsuitslagen per stembureau inclusief coördinaten\n",
"Als eerste importeren we de data voor de analyse, daarna kunnen we kijken hoe goed de data is, hoe we het aan kunnen vullen, en wat er mee te doen. We kijken eerst naar het GeoJSON bestand van Open State Foundation en de Volkskrant (OSF/VK). Daarin zijn de coördinaten van alle locaties van bijna alle stembureaus toegevoegd aan de lijst met stembureaus uit de officiële uitslagen zoals gepubliceerd door de Kiesraad. We kunnen een GeoJSON bestand direct inladen met geopandas."
2022-03-29 17:09:52 +02:00
]
},
{
"cell_type": "code",
"execution_count": 162,
"metadata": {},
"outputs": [],
"source": [
"import warnings\n",
"warnings.filterwarnings('ignore')"
]
},
{
"cell_type": "code",
"execution_count": 163,
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd\n",
"import geopandas as gpd\n",
"\n",
"crs = {'init':'EPSG:4326'}\n",
"df_geojson = gpd.read_file(r'../data/2022gr.geo.json', crs=crs)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
2022-05-06 14:51:01 +02:00
"## CBS dataset: gemeentegrenzen en informatie\n",
"We importeren nu de gemeente shapefile kaart van het CBS, om de overlay van onze stemlokalen eroverheen te leggen."
]
},
{
"cell_type": "code",
"execution_count": 164,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<AxesSubplot:title={'center':'Plot van de gemeenten uit de CBS Wijk- en buurtkaart 2021'}>"
]
},
"execution_count": 164,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
2022-07-11 16:29:43 +02:00
"image/png": "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
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
2022-04-14 15:43:51 +02:00
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"nl_map = gpd.read_file(r'../data/shape/Netherlands_shapefile/gemeente_2021_v1.shp')\n",
2022-05-06 14:51:01 +02:00
"plot = nl_map.to_crs(epsg=4326).plot()\n",
"plot.set_title('Plot van de gemeenten uit de CBS Wijk- en buurtkaart 2021')\n",
"plot\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"De CBS Wijk- en buurtkaart 2021 bevat ook naast de gemeentegrenzen ook informatie (bv. aantal inwoners) over de gemeenten. We printen dat hier uit om daar een beeld van te krijgen."
]
},
{
"cell_type": "code",
"execution_count": 165,
2022-04-12 16:39:06 +02:00
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" GM_CODE GM_NAAM H2O OAD STED BEV_DICHTH AANT_INW \\\n",
"0 GM0034 Almere JA -99999999 -99999999 -99999999 -99999999 \n",
"1 GM0050 Zeewolde JA -99999999 -99999999 -99999999 -99999999 \n",
"2 GM0060 Ameland JA -99999999 -99999999 -99999999 -99999999 \n",
"3 GM0072 Harlingen JA -99999999 -99999999 -99999999 -99999999 \n",
"4 GM0088 Schiermonnikoog JA -99999999 -99999999 -99999999 -99999999 \n",
".. ... ... ... ... ... ... ... \n",
"430 GM1966 Het Hogeland NEE 414 5 99 47834 \n",
"431 GM1969 Westerkwartier NEE 476 5 176 63678 \n",
"432 GM1970 Noardeast-Fryslân NEE 463 5 120 45481 \n",
"433 GM1978 Molenlanden NEE 393 5 243 44130 \n",
"434 GM1979 Eemsdelta NEE 692 4 170 45587 \n",
"\n",
" AANT_MAN AANT_VROUW P_00_14_JR ... P_TURKIJE P_OVER_NW OPP_TOT \\\n",
"0 -99999999 -99999999 -99999999 ... -99999999 -99999999 -99999999 \n",
"1 -99999999 -99999999 -99999999 ... -99999999 -99999999 -99999999 \n",
"2 -99999999 -99999999 -99999999 ... -99999999 -99999999 -99999999 \n",
"3 -99999999 -99999999 -99999999 ... -99999999 -99999999 -99999999 \n",
"4 -99999999 -99999999 -99999999 ... -99999999 -99999999 -99999999 \n",
".. ... ... ... ... ... ... ... \n",
"430 24052 23782 15 ... 0 3 90308 \n",
"431 32034 31644 17 ... 0 3 36887 \n",
"432 22879 22602 17 ... 0 2 51645 \n",
"433 22317 21813 18 ... 0 2 19158 \n",
"434 22841 22746 14 ... 2 5 36407 \n",
"\n",
" OPP_LAND OPP_WATER JRSTATCODE JAAR Shape_Leng Shape_Area \\\n",
"0 -99999999 -99999999 2021GM0034 2021 122665.358635 1.095623e+08 \n",
"1 -99999999 -99999999 2021GM0050 2021 83290.773617 1.633050e+07 \n",
"2 -99999999 -99999999 2021GM0060 2021 156406.894023 2.085914e+08 \n",
"3 -99999999 -99999999 2021GM0072 2021 104274.683035 3.618323e+08 \n",
"4 -99999999 -99999999 2021GM0088 2021 152568.858991 1.624101e+08 \n",
".. ... ... ... ... ... ... \n",
"430 48249 42059 2021GM1966 2021 321301.166576 4.875998e+08 \n",
"431 36269 618 2021GM1969 2021 99030.762281 3.688457e+08 \n",
"432 37783 13862 2021GM1970 2021 238426.959926 3.837930e+08 \n",
"433 18173 986 2021GM1978 2021 88570.376691 1.915841e+08 \n",
"434 26789 9618 2021GM1979 2021 173966.493452 2.727771e+08 \n",
"\n",
" geometry \n",
"0 MULTIPOLYGON (((150213.998 479503.726, 150087.... \n",
"1 MULTIPOLYGON (((170588.413 486792.192, 170570.... \n",
"2 POLYGON ((196000.000 610000.000, 196000.000 60... \n",
"3 MULTIPOLYGON (((158392.775 580357.500, 158387.... \n",
"4 POLYGON ((219000.000 616567.418, 219000.000 61... \n",
".. ... \n",
"430 MULTIPOLYGON (((217037.735 601967.991, 217043.... \n",
"431 POLYGON ((215186.661 595044.495, 215190.788 59... \n",
"432 MULTIPOLYGON (((207769.575 603284.528, 207773.... \n",
"433 POLYGON ((123569.533 440132.167, 123576.153 44... \n",
"434 MULTIPOLYGON (((269190.000 594253.046, 269190.... \n",
"\n",
"[435 rows x 38 columns]\n"
]
2022-04-12 16:39:06 +02:00
}
],
"source": [
"print(nl_map)"
2022-04-12 16:39:06 +02:00
]
},
2022-05-06 14:51:01 +02:00
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Hieronder plotten we de gegevens van stembureaus op de kaart van het CBS:"
]
},
2022-04-12 16:39:06 +02:00
{
"cell_type": "code",
"execution_count": 166,
2022-03-29 17:09:52 +02:00
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Text(0.5, 1.0, 'Stembureaus op de gemeentekaart van het CBS')"
2022-03-29 17:09:52 +02:00
]
},
"execution_count": 166,
2022-03-29 17:09:52 +02:00
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
2022-07-11 16:29:43 +02:00
"image/png": "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
"text/plain": [
"<Figure size 720x720 with 1 Axes>"
]
},
2022-04-14 15:43:51 +02:00
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"import matplotlib.pyplot as plt\n",
"\n",
"fig, ax = plt.subplots(figsize = (10,10))\n",
"nl_map.to_crs(epsg=4326).plot(ax=ax, color='lightgrey')\n",
2022-05-06 14:51:01 +02:00
"df_geojson.plot(ax=ax)\n",
"ax.set_title('Stembureaus op de gemeentekaart van het CBS')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We hebben hier een probleem dat sommige punten de coördinaten 0,0 hebben, dit is niet iets wat we willen weergeven. Laten we eerst kijken waarom dit het geval is in de data voordat we het er helemaal uithalen."
]
},
{
"cell_type": "code",
"execution_count": 167,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
2022-05-09 18:30:16 +02:00
"Stembureau 32\n",
"Adres \n",
"Locatie SB32\n",
"description Stembureau Mobiel Stembureau 1\n",
"Geldige stemmen 99\n",
" ... \n",
"één-Ermelo NaN\n",
"gmcode GM0109\n",
"election GR2022_Coevorden\n",
"electionName Gemeenteraad Coevorden 2022\n",
"geometry POINT (0 0)\n",
"Name: 2520, Length: 973, dtype: object\n",
2022-05-09 18:30:16 +02:00
"Stembureau 33\n",
"Adres \n",
"Locatie SB33\n",
"description Stembureau Mobiel Stembureau 2\n",
"Geldige stemmen 115\n",
" ... \n",
"één-Ermelo NaN\n",
"gmcode GM0109\n",
"election GR2022_Coevorden\n",
"electionName Gemeenteraad Coevorden 2022\n",
"geometry POINT (0 0)\n",
"Name: 2521, Length: 973, dtype: object\n",
2022-05-09 18:30:16 +02:00
"Stembureau 157\n",
"Adres \n",
"Locatie SB157\n",
"description Stembureau Stembureau Stembus\n",
"Geldige stemmen 72\n",
" ... \n",
"één-Ermelo NaN\n",
"gmcode GM0150\n",
"election GR2022_Deventer\n",
"electionName Gemeenteraad Deventer 2022\n",
"geometry POINT (0 0)\n",
"Name: 2918, Length: 973, dtype: object\n",
2022-05-09 18:30:16 +02:00
"Stembureau 171\n",
"Adres \n",
"Locatie SB171\n",
"description Stembureau Stembureau Stembureau op locatie al...\n",
"Geldige stemmen 174\n",
" ... \n",
"één-Ermelo NaN\n",
"gmcode GM0772\n",
"election GR2022_Eindhoven\n",
"electionName Gemeenteraad Eindhoven 2022\n",
"geometry POINT (0 0)\n",
"Name: 3579, Length: 973, dtype: object\n",
2022-05-09 18:30:16 +02:00
"Stembureau 172\n",
"Adres \n",
"Locatie SB172\n",
"description Stembureau Stembureau Stembureau op locatie al...\n",
"Geldige stemmen 66\n",
" ... \n",
"één-Ermelo NaN\n",
"gmcode GM0772\n",
"election GR2022_Eindhoven\n",
"electionName Gemeenteraad Eindhoven 2022\n",
"geometry POINT (0 0)\n",
"Name: 3580, Length: 973, dtype: object\n",
2022-05-09 18:30:16 +02:00
"Stembureau 173\n",
"Adres \n",
"Locatie SB173\n",
"description Stembureau Stembureau Stembureau op locatie al...\n",
"Geldige stemmen 162\n",
" ... \n",
"één-Ermelo NaN\n",
"gmcode GM0772\n",
"election GR2022_Eindhoven\n",
"electionName Gemeenteraad Eindhoven 2022\n",
"geometry POINT (0 0)\n",
"Name: 3581, Length: 973, dtype: object\n",
2022-05-09 18:30:16 +02:00
"Stembureau 174\n",
"Adres \n",
"Locatie SB174\n",
"description Stembureau Stembureau Stembureau op locatie al...\n",
"Geldige stemmen 65\n",
" ... \n",
"één-Ermelo NaN\n",
"gmcode GM0772\n",
"election GR2022_Eindhoven\n",
"electionName Gemeenteraad Eindhoven 2022\n",
"geometry POINT (0 0)\n",
"Name: 3582, Length: 973, dtype: object\n",
2022-05-09 18:30:16 +02:00
"Stembureau 175\n",
"Adres \n",
"Locatie SB175\n",
"description Stembureau Stembureau Stembureau op locatie al...\n",
"Geldige stemmen 121\n",
" ... \n",
"één-Ermelo NaN\n",
"gmcode GM0772\n",
"election GR2022_Eindhoven\n",
"electionName Gemeenteraad Eindhoven 2022\n",
"geometry POINT (0 0)\n",
"Name: 3583, Length: 973, dtype: object\n",
2022-05-09 18:30:16 +02:00
"Stembureau 39\n",
"Adres \n",
"Locatie SB39\n",
"description Stembureau Mobiel stembureau met beperkte toeg...\n",
"Geldige stemmen 56\n",
" ... \n",
"één-Ermelo NaN\n",
"gmcode GM1735\n",
"election GR2022_HofvanTwente\n",
"electionName Gemeenteraad Hof van Twente 2022\n",
"geometry POINT (0 0)\n",
"Name: 5494, Length: 973, dtype: object\n",
2022-05-09 18:30:16 +02:00
"Stembureau 34\n",
"Adres \n",
"Locatie SB34\n",
"description Stembureau Stembureau Mobiel stembureau verzor...\n",
"Geldige stemmen 119\n",
" ... \n",
"één-Ermelo NaN\n",
"gmcode GM0166\n",
"election GR2022_Kampen\n",
"electionName Gemeenteraad Kampen 2022\n",
"geometry POINT (0 0)\n",
"Name: 5784, Length: 973, dtype: object\n",
2022-05-09 18:30:16 +02:00
"Stembureau 35\n",
"Adres \n",
"Locatie SB35\n",
"description Stembureau Stembureau Mobiel stembureau verzor...\n",
"Geldige stemmen 151\n",
" ... \n",
"één-Ermelo NaN\n",
"gmcode GM0166\n",
"election GR2022_Kampen\n",
"electionName Gemeenteraad Kampen 2022\n",
"geometry POINT (0 0)\n",
"Name: 5785, Length: 973, dtype: object\n",
2022-05-09 18:30:16 +02:00
"Stembureau 11\n",
"Adres \n",
"Locatie SB11\n",
"description Stembureau Mobiel stembureau Ommedijk\n",
"Geldige stemmen 14\n",
" ... \n",
"één-Ermelo NaN\n",
"gmcode GM0547\n",
"election GR2022_Leiderdorp\n",
"electionName Gemeenteraad Leiderdorp 2022\n",
"geometry POINT (0 0)\n",
"Name: 6260, Length: 973, dtype: object\n",
2022-05-09 18:30:16 +02:00
"Stembureau 12\n",
"Adres \n",
"Locatie SB12\n",
"description Stembureau Mobiel stembureau Van Alphenstaete ...\n",
"Geldige stemmen 68\n",
" ... \n",
"één-Ermelo NaN\n",
"gmcode GM0547\n",
"election GR2022_Leiderdorp\n",
"electionName Gemeenteraad Leiderdorp 2022\n",
"geometry POINT (0 0)\n",
"Name: 6261, Length: 973, dtype: object\n",
2022-05-09 18:30:16 +02:00
"Stembureau 70\n",
"Adres \n",
"Locatie SB70\n",
"description Stembureau Mobiel stembureau\n",
"Geldige stemmen 34\n",
" ... \n",
"één-Ermelo NaN\n",
"gmcode GM0938\n",
"election GR2022_Meerssen\n",
"electionName Gemeenteraad Meerssen 2022\n",
"geometry POINT (0 0)\n",
"Name: 6738, Length: 973, dtype: object\n",
2022-05-09 18:30:16 +02:00
"Stembureau 71\n",
"Adres \n",
"Locatie SB71\n",
"description Stembureau Mobiel stembureau\n",
"Geldige stemmen 43\n",
" ... \n",
"één-Ermelo NaN\n",
"gmcode GM0938\n",
"election GR2022_Meerssen\n",
"electionName Gemeenteraad Meerssen 2022\n",
"geometry POINT (0 0)\n",
"Name: 6739, Length: 973, dtype: object\n",
2022-05-09 18:30:16 +02:00
"Stembureau 699\n",
"Adres \n",
"Locatie SB699\n",
"description Stembureau Stembureau Mobiel stembureau\n",
"Geldige stemmen 59\n",
" ... \n",
"één-Ermelo NaN\n",
"gmcode GM0687\n",
"election GR2022_Middelburg\n",
"electionName Gemeenteraad Middelburg 2022\n",
"geometry POINT (0 0)\n",
"Name: 6863, Length: 973, dtype: object\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
2022-05-09 18:30:16 +02:00
"Stembureau 32\n",
"Adres \n",
"Locatie SB32\n",
"description Stembureau Mobielstembureau\n",
"Geldige stemmen 63\n",
" ... \n",
"één-Ermelo NaN\n",
"gmcode GM1930\n",
"election GR2022_Nissewaard\n",
"electionName Gemeenteraad Nissewaard 2022\n",
"geometry POINT (0 0)\n",
"Name: 7348, Length: 973, dtype: object\n",
2022-05-09 18:30:16 +02:00
"Stembureau 90\n",
"Adres \n",
"Locatie SB90\n",
"description Stembureau Roll and Vote\n",
"Geldige stemmen 339\n",
" ... \n",
"één-Ermelo NaN\n",
"gmcode GM1930\n",
"election GR2022_Nissewaard\n",
"electionName Gemeenteraad Nissewaard 2022\n",
"geometry POINT (0 0)\n",
"Name: 7364, Length: 973, dtype: object\n",
2022-05-09 18:30:16 +02:00
"Stembureau 19\n",
"Adres \n",
"Locatie SB19\n",
"description Stembureau Mobiel stembureau\n",
"Geldige stemmen 77\n",
" ... \n",
"één-Ermelo NaN\n",
"gmcode GM0086\n",
"election GR2022_Opsterland\n",
"electionName Gemeenteraad Opsterland 2022\n",
"geometry POINT (0 0)\n",
"Name: 7857, Length: 973, dtype: object\n",
2022-05-09 18:30:16 +02:00
"Stembureau 1428\n",
"Adres \n",
"Locatie SB1428\n",
"description Stembureau Drive-thru parkeerplaats Rusheuvel 1\n",
"Geldige stemmen 163\n",
" ... \n",
"één-Ermelo NaN\n",
"gmcode GM0828\n",
"election GR2022_Oss\n",
"electionName Gemeenteraad Oss 2022\n",
"geometry POINT (0 0)\n",
"Name: 7912, Length: 973, dtype: object\n",
2022-05-09 18:30:16 +02:00
"Stembureau 1437\n",
"Adres \n",
"Locatie SB1437\n",
"description Stembureau Drive-thru parkeerplaats Rusheuvel 2\n",
"Geldige stemmen 239\n",
" ... \n",
"één-Ermelo NaN\n",
"gmcode GM0828\n",
"election GR2022_Oss\n",
"electionName Gemeenteraad Oss 2022\n",
"geometry POINT (0 0)\n",
"Name: 7913, Length: 973, dtype: object\n",
2022-05-09 18:30:16 +02:00
"Stembureau 1528\n",
"Adres \n",
"Locatie SB1528\n",
"description Stembureau Drive-thru parkeerplaats Rusheuvel 1\n",
"Geldige stemmen 323\n",
" ... \n",
"één-Ermelo NaN\n",
"gmcode GM0828\n",
"election GR2022_Oss\n",
"electionName Gemeenteraad Oss 2022\n",
"geometry POINT (0 0)\n",
"Name: 7923, Length: 973, dtype: object\n",
2022-05-09 18:30:16 +02:00
"Stembureau 1537\n",
"Adres \n",
"Locatie SB1537\n",
"description Stembureau Drive-thru parkeerplaats Rusheuvel 2\n",
"Geldige stemmen 208\n",
" ... \n",
"één-Ermelo NaN\n",
"gmcode GM0828\n",
"election GR2022_Oss\n",
"electionName Gemeenteraad Oss 2022\n",
"geometry POINT (0 0)\n",
"Name: 7924, Length: 973, dtype: object\n",
2022-05-09 18:30:16 +02:00
"Stembureau 1541\n",
"Adres \n",
"Locatie SB1541\n",
"description Stembureau Mobiel stembureau\n",
"Geldige stemmen 125\n",
" ... \n",
"één-Ermelo NaN\n",
"gmcode GM0828\n",
"election GR2022_Oss\n",
"electionName Gemeenteraad Oss 2022\n",
"geometry POINT (0 0)\n",
"Name: 7926, Length: 973, dtype: object\n",
2022-05-09 18:30:16 +02:00
"Stembureau 200\n",
"Adres \n",
"Locatie SB200\n",
"description Stembureau Mobiel stembureau Ma\n",
"Geldige stemmen 30\n",
" ... \n",
"één-Ermelo NaN\n",
"gmcode GM1509\n",
"election GR2022_OudeIJsselstreek\n",
"electionName Gemeenteraad Oude IJsselstreek 2022\n",
"geometry POINT (0 0)\n",
"Name: 7958, Length: 973, dtype: object\n",
2022-05-09 18:30:16 +02:00
"Stembureau 201\n",
"Adres \n",
"Locatie SB201\n",
"description Stembureau Mobiel stembureau Di\n",
"Geldige stemmen 30\n",
" ... \n",
"één-Ermelo NaN\n",
"gmcode GM1509\n",
"election GR2022_OudeIJsselstreek\n",
"electionName Gemeenteraad Oude IJsselstreek 2022\n",
"geometry POINT (0 0)\n",
"Name: 7959, Length: 973, dtype: object\n",
2022-05-09 18:30:16 +02:00
"Stembureau 202\n",
"Adres \n",
"Locatie SB202\n",
"description Stembureau Mobiel stembureau Woe\n",
"Geldige stemmen 44\n",
" ... \n",
"één-Ermelo NaN\n",
"gmcode GM1509\n",
"election GR2022_OudeIJsselstreek\n",
"electionName Gemeenteraad Oude IJsselstreek 2022\n",
"geometry POINT (0 0)\n",
"Name: 7960, Length: 973, dtype: object\n",
2022-05-09 18:30:16 +02:00
"Stembureau 30\n",
"Adres \n",
"Locatie SB30\n",
"description Stembureau Stembureau voor de telling stembure...\n",
"Geldige stemmen 2004\n",
" ... \n",
"één-Ermelo NaN\n",
"gmcode GM1926\n",
"election GR2022_PijnackerNootdorp\n",
"electionName Gemeenteraad Pijnacker-Nootdorp 2022\n",
"geometry POINT (0 0)\n",
"Name: 8108, Length: 973, dtype: object\n",
2022-05-09 18:30:16 +02:00
"Stembureau 40\n",
"Adres \n",
"Locatie SB40\n",
"description Stembureau Stembureau voor de telling stembure...\n",
"Geldige stemmen 2953\n",
" ... \n",
"één-Ermelo NaN\n",
"gmcode GM1926\n",
"election GR2022_PijnackerNootdorp\n",
"electionName Gemeenteraad Pijnacker-Nootdorp 2022\n",
"geometry POINT (0 0)\n",
"Name: 8109, Length: 973, dtype: object\n",
2022-05-09 18:30:16 +02:00
"Stembureau 990\n",
"Adres \n",
"Locatie SB990\n",
"description Stembureau Mobiel stembureau (meerdere plaatsen)\n",
"Geldige stemmen 47\n",
" ... \n",
"één-Ermelo NaN\n",
"gmcode GM0177\n",
"election GR2022_Raalte\n",
"electionName Gemeenteraad Raalte 2022\n",
"geometry POINT (0 0)\n",
"Name: 8161, Length: 973, dtype: object\n",
2022-05-09 18:30:16 +02:00
"Stembureau 991\n",
"Adres \n",
"Locatie SB991\n",
"description Stembureau Mobiel stembureau (meerdere plaatsen)\n",
"Geldige stemmen 70\n",
" ... \n",
"één-Ermelo NaN\n",
"gmcode GM0177\n",
"election GR2022_Raalte\n",
"electionName Gemeenteraad Raalte 2022\n",
"geometry POINT (0 0)\n",
"Name: 8162, Length: 973, dtype: object\n",
2022-05-09 18:30:16 +02:00
"Stembureau 992\n",
"Adres \n",
"Locatie SB992\n",
"description Stembureau Mobiel stembureau (meerdere plaatsen)\n",
"Geldige stemmen 39\n",
" ... \n",
"één-Ermelo NaN\n",
"gmcode GM0177\n",
"election GR2022_Raalte\n",
"electionName Gemeenteraad Raalte 2022\n",
"geometry POINT (0 0)\n",
"Name: 8163, Length: 973, dtype: object\n",
2022-05-09 18:30:16 +02:00
"Stembureau 17\n",
"Adres \n",
"Locatie SB17\n",
"description Stembureau Mobiel Stembureau dinsdag\n",
"Geldige stemmen 115\n",
" ... \n",
"één-Ermelo NaN\n",
"gmcode GM1742\n",
"election GR2022_RijssenHolten\n",
"electionName Gemeenteraad Rijssen-Holten 2022\n",
"geometry POINT (0 0)\n",
"Name: 8318, Length: 973, dtype: object\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
2022-05-09 18:30:16 +02:00
"Stembureau 228\n",
"Adres \n",
"Locatie SB228\n",
"description Stembureau Stembureau Drive-in\n",
"Geldige stemmen 80\n",
" ... \n",
"één-Ermelo NaN\n",
"gmcode GM0606\n",
"election GR2022_Schiedam\n",
"electionName Gemeenteraad Schiedam 2022\n",
"geometry POINT (0 0)\n",
"Name: 9093, Length: 973, dtype: object\n",
2022-05-09 18:30:16 +02:00
"Stembureau 30\n",
"Adres \n",
"Locatie SB30\n",
"description Stembureau Mobiel stembureau\n",
"Geldige stemmen 25\n",
" ... \n",
"één-Ermelo NaN\n",
"gmcode GM1676\n",
"election GR2022_SchouwenDuiveland\n",
"electionName Gemeenteraad Schouwen-Duiveland 2022\n",
"geometry POINT (0 0)\n",
"Name: 9151, Length: 973, dtype: object\n",
2022-05-09 18:30:16 +02:00
"Stembureau 31\n",
"Adres \n",
"Locatie SB31\n",
"description Stembureau Mobiel stembureau\n",
"Geldige stemmen 8\n",
" ... \n",
"één-Ermelo NaN\n",
"gmcode GM1676\n",
"election GR2022_SchouwenDuiveland\n",
"electionName Gemeenteraad Schouwen-Duiveland 2022\n",
"geometry POINT (0 0)\n",
"Name: 9152, Length: 973, dtype: object\n",
2022-05-09 18:30:16 +02:00
"Stembureau 32\n",
"Adres \n",
"Locatie SB32\n",
"description Stembureau Mobiel stembureau\n",
"Geldige stemmen 24\n",
" ... \n",
"één-Ermelo NaN\n",
"gmcode GM1676\n",
"election GR2022_SchouwenDuiveland\n",
"electionName Gemeenteraad Schouwen-Duiveland 2022\n",
"geometry POINT (0 0)\n",
"Name: 9153, Length: 973, dtype: object\n",
2022-05-09 18:30:16 +02:00
"Stembureau 76\n",
"Adres \n",
"Locatie SB76\n",
"description Stembureau Rondvaartboot Toerist VI\n",
"Geldige stemmen 148\n",
" ... \n",
"één-Ermelo NaN\n",
"gmcode GM1900\n",
"election GR2022_SudwestFryslan\n",
"electionName Gemeenteraad Súdwest-Fryslân 2022\n",
"geometry POINT (0 0)\n",
"Name: 9661, Length: 973, dtype: object\n",
2022-05-09 18:30:16 +02:00
"Stembureau 68\n",
"Adres \n",
"Locatie SB68\n",
"description Stembureau Drive Inn (evenemententerrein Het L...\n",
"Geldige stemmen 285\n",
" ... \n",
"één-Ermelo NaN\n",
"gmcode GM0855\n",
"election GR2022_Tilburg\n",
"electionName Gemeenteraad Tilburg 2022\n",
"geometry POINT (0 0)\n",
"Name: 9853, Length: 973, dtype: object\n",
2022-05-09 18:30:16 +02:00
"Stembureau 14\n",
"Adres \n",
"Locatie SB14\n",
"description Stembureau Mobiel Stembureau\n",
"Geldige stemmen 24\n",
" ... \n",
"één-Ermelo NaN\n",
"gmcode GM0047\n",
"election GR2022_Veendam\n",
"electionName Gemeenteraad Veendam 2022\n",
"geometry POINT (0 0)\n",
"Name: 10427, Length: 973, dtype: object\n",
2022-05-09 18:30:16 +02:00
"Stembureau 18\n",
"Adres \n",
"Locatie SB18\n",
"description Stembureau Mobiel stembureau\n",
"Geldige stemmen 50\n",
" ... \n",
"één-Ermelo NaN\n",
"gmcode GM0047\n",
"election GR2022_Veendam\n",
"electionName Gemeenteraad Veendam 2022\n",
"geometry POINT (0 0)\n",
"Name: 10431, Length: 973, dtype: object\n",
2022-05-09 18:30:16 +02:00
"Stembureau 23\n",
"Adres \n",
"Locatie SB23\n",
"description Stembureau Stembureau Mobiel: Wkp Zout Veere\n",
"Geldige stemmen 55\n",
" ... \n",
"één-Ermelo NaN\n",
"gmcode GM0717\n",
"election GR2022_Veere\n",
"electionName Gemeenteraad Veere 2022\n",
"geometry POINT (0 0)\n",
"Name: 10497, Length: 973, dtype: object\n",
2022-05-09 18:30:16 +02:00
"Stembureau 24\n",
"Adres \n",
"Locatie SB24\n",
"description Stembureau Stembureau Mobiel: Okp Dom\n",
"Geldige stemmen 35\n",
" ... \n",
"één-Ermelo NaN\n",
"gmcode GM0717\n",
"election GR2022_Veere\n",
"electionName Gemeenteraad Veere 2022\n",
"geometry POINT (0 0)\n",
"Name: 10498, Length: 973, dtype: object\n",
2022-05-09 18:30:16 +02:00
"Stembureau 115\n",
"Adres \n",
"Locatie SB115\n",
"description Stembureau Tent Nijverheidslaan\n",
"Geldige stemmen 258\n",
" ... \n",
"één-Ermelo NaN\n",
"gmcode GM0861\n",
"election GR2022_Veldhoven\n",
"electionName Gemeenteraad Veldhoven 2022\n",
"geometry POINT (0 0)\n",
"Name: 10525, Length: 973, dtype: object\n",
2022-05-09 18:30:16 +02:00
"Stembureau 116\n",
"Adres \n",
"Locatie SB116\n",
"description Stembureau Tent Nijverheidslaan\n",
"Geldige stemmen 377\n",
" ... \n",
"één-Ermelo NaN\n",
"gmcode GM0861\n",
"election GR2022_Veldhoven\n",
"electionName Gemeenteraad Veldhoven 2022\n",
"geometry POINT (0 0)\n",
"Name: 10526, Length: 973, dtype: object\n",
2022-05-09 18:30:16 +02:00
"Stembureau 117\n",
"Adres \n",
"Locatie SB117\n",
"description Stembureau Tent Peter Benenson park\n",
"Geldige stemmen 285\n",
" ... \n",
"één-Ermelo NaN\n",
"gmcode GM0861\n",
"election GR2022_Veldhoven\n",
"electionName Gemeenteraad Veldhoven 2022\n",
"geometry POINT (0 0)\n",
"Name: 10527, Length: 973, dtype: object\n",
2022-05-09 18:30:16 +02:00
"Stembureau 118\n",
"Adres \n",
"Locatie SB118\n",
"description Stembureau Tent Peter Benenson park\n",
"Geldige stemmen 329\n",
" ... \n",
"één-Ermelo NaN\n",
"gmcode GM0861\n",
"election GR2022_Veldhoven\n",
"electionName Gemeenteraad Veldhoven 2022\n",
"geometry POINT (0 0)\n",
"Name: 10528, Length: 973, dtype: object\n",
2022-05-09 18:30:16 +02:00
"Stembureau 310\n",
"Adres \n",
"Locatie SB310\n",
"description Stembureau Mobiel Bijzonder stembureau 1\n",
"Geldige stemmen 26\n",
" ... \n",
"één-Ermelo NaN\n",
"gmcode GM0983\n",
"election GR2022_Venlo\n",
"electionName Gemeenteraad Venlo 2022\n",
"geometry POINT (0 0)\n",
"Name: 10623, Length: 973, dtype: object\n",
2022-05-09 18:30:16 +02:00
"Stembureau 311\n",
"Adres \n",
"Locatie SB311\n",
"description Stembureau Mobiel Bijzonder stembureau 2\n",
"Geldige stemmen 55\n",
" ... \n",
"één-Ermelo NaN\n",
"gmcode GM0983\n",
"election GR2022_Venlo\n",
"electionName Gemeenteraad Venlo 2022\n",
"geometry POINT (0 0)\n",
"Name: 10624, Length: 973, dtype: object\n",
2022-05-09 18:30:16 +02:00
"Stembureau 88\n",
"Adres \n",
"Locatie SB88\n",
"description Stembureau Mobiel stembureau 1\n",
"Geldige stemmen 78\n",
" ... \n",
"één-Ermelo NaN\n",
"gmcode GM1949\n",
"election GR2022_Waadhoeke\n",
"electionName Gemeenteraad Waadhoeke 2022\n",
"geometry POINT (0 0)\n",
"Name: 10894, Length: 973, dtype: object\n",
2022-05-09 18:30:16 +02:00
"Stembureau 89\n",
"Adres \n",
"Locatie SB89\n",
"description Stembureau Mobiel stembureau 2\n",
"Geldige stemmen 35\n",
" ... \n",
"één-Ermelo NaN\n",
"gmcode GM1949\n",
"election GR2022_Waadhoeke\n",
"electionName Gemeenteraad Waadhoeke 2022\n",
"geometry POINT (0 0)\n",
"Name: 10895, Length: 973, dtype: object\n",
2022-05-09 18:30:16 +02:00
"Stembureau 31\n",
"Adres \n",
"Locatie SB31\n",
"description Stembureau Stembureau Mobiel Stembureau\n",
"Geldige stemmen 32\n",
" ... \n",
"één-Ermelo NaN\n",
"gmcode GM0988\n",
"election GR2022_Weert\n",
"electionName Gemeenteraad Weert 2022\n",
"geometry POINT (0 0)\n",
"Name: 11032, Length: 973, dtype: object\n",
2022-05-09 18:30:16 +02:00
"Stembureau 0\n",
"Adres \n",
"Locatie SB0\n",
"description Stembureau -\n",
"Geldige stemmen 0\n",
" ... \n",
"één-Ermelo NaN\n",
"gmcode GM1960\n",
"election GR2022_WestBetuwe\n",
"electionName Gemeenteraad West Betuwe 2022\n",
"geometry POINT (0 0)\n",
"Name: 11101, Length: 973, dtype: object\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
2022-05-09 18:30:16 +02:00
"Stembureau 132\n",
"Adres \n",
"Locatie SB132\n",
"description Stembureau Stembureau IJsselhallen drive thoug...\n",
"Geldige stemmen 52\n",
" ... \n",
"één-Ermelo NaN\n",
"gmcode GM0193\n",
"election GR2022_Zwolle\n",
"electionName Gemeenteraad Zwolle 2022\n",
"geometry POINT (0 0)\n",
"Name: 12038, Length: 973, dtype: object\n",
2022-05-09 18:30:16 +02:00
"Stembureau 133\n",
"Adres \n",
"Locatie SB133\n",
"description Stembureau Stembureau IJsselhallen drive throu...\n",
"Geldige stemmen 48\n",
" ... \n",
"één-Ermelo NaN\n",
"gmcode GM0193\n",
"election GR2022_Zwolle\n",
"electionName Gemeenteraad Zwolle 2022\n",
"geometry POINT (0 0)\n",
"Name: 12039, Length: 973, dtype: object\n",
2022-05-09 18:30:16 +02:00
"Stembureau 232\n",
"Adres \n",
"Locatie SB232\n",
"description Stembureau Stembureau IJsselhallen drive thoug...\n",
"Geldige stemmen 113\n",
" ... \n",
"één-Ermelo NaN\n",
"gmcode GM0193\n",
"election GR2022_Zwolle\n",
"electionName Gemeenteraad Zwolle 2022\n",
"geometry POINT (0 0)\n",
"Name: 12053, Length: 973, dtype: object\n",
2022-05-09 18:30:16 +02:00
"Stembureau 233\n",
"Adres \n",
"Locatie SB233\n",
"description Stembureau Stembureau IJsselhallen drive throu...\n",
"Geldige stemmen 73\n",
" ... \n",
"één-Ermelo NaN\n",
"gmcode GM0193\n",
"election GR2022_Zwolle\n",
"electionName Gemeenteraad Zwolle 2022\n",
"geometry POINT (0 0)\n",
"Name: 12054, Length: 973, dtype: object\n",
2022-05-09 18:30:16 +02:00
"Stembureau 358\n",
"Adres \n",
"Locatie SB358\n",
"description Stembureau Stembureau Mobiel stembureau 1\n",
"Geldige stemmen 70\n",
" ... \n",
"één-Ermelo NaN\n",
"gmcode GM0193\n",
"election GR2022_Zwolle\n",
"electionName Gemeenteraad Zwolle 2022\n",
"geometry POINT (0 0)\n",
"Name: 12118, Length: 973, dtype: object\n",
2022-05-09 18:30:16 +02:00
"Stembureau 359\n",
"Adres \n",
"Locatie SB359\n",
"description Stembureau Stembureau Mobiel stembureau 2\n",
"Geldige stemmen 169\n",
" ... \n",
"één-Ermelo NaN\n",
"gmcode GM0193\n",
"election GR2022_Zwolle\n",
"electionName Gemeenteraad Zwolle 2022\n",
"geometry POINT (0 0)\n",
"Name: 12119, Length: 973, dtype: object\n",
2022-05-09 18:30:16 +02:00
"Stembureau 360\n",
"Adres \n",
"Locatie SB360\n",
"description Stembureau Stembureau Mobiel stembureau 3\n",
"Geldige stemmen 89\n",
" ... \n",
"één-Ermelo NaN\n",
"gmcode GM0193\n",
"election GR2022_Zwolle\n",
"electionName Gemeenteraad Zwolle 2022\n",
"geometry POINT (0 0)\n",
"Name: 12120, Length: 973, dtype: object\n",
2022-05-09 18:30:16 +02:00
"Stembureau 361\n",
"Adres \n",
"Locatie SB361\n",
"description Stembureau Stembureau Mobiel stembureau 4\n",
"Geldige stemmen 36\n",
" ... \n",
"één-Ermelo NaN\n",
"gmcode GM0193\n",
"election GR2022_Zwolle\n",
"electionName Gemeenteraad Zwolle 2022\n",
"geometry POINT (0 0)\n",
"Name: 12121, Length: 973, dtype: object\n",
2022-05-09 18:30:16 +02:00
"Stembureau 114\n",
"Adres \n",
"Locatie SB114\n",
"description Stembureau Stembureau Mobiel stembureau (beper...\n",
"Geldige stemmen 109\n",
" ... \n",
"één-Ermelo NaN\n",
"gmcode GM0796\n",
"election GR2022_sHertogenbosch\n",
"electionName Gemeenteraad 's-Hertogenbosch 2022\n",
"geometry POINT (0 0)\n",
"Name: 12504, Length: 973, dtype: object\n",
2022-05-09 18:30:16 +02:00
"Stembureau 115\n",
"Adres \n",
"Locatie SB115\n",
"description Stembureau Stembureau Mobiel Stembureau (beper...\n",
"Geldige stemmen 80\n",
" ... \n",
"één-Ermelo NaN\n",
"gmcode GM0796\n",
"election GR2022_sHertogenbosch\n",
"electionName Gemeenteraad 's-Hertogenbosch 2022\n",
"geometry POINT (0 0)\n",
"Name: 12505, Length: 973, dtype: object\n",
2022-05-09 18:30:16 +02:00
"Stembureau 116\n",
"Adres \n",
"Locatie SB116\n",
"description Stembureau Stembureau Mobiel Stembureau (beper...\n",
"Geldige stemmen 119\n",
" ... \n",
"één-Ermelo NaN\n",
"gmcode GM0796\n",
"election GR2022_sHertogenbosch\n",
"electionName Gemeenteraad 's-Hertogenbosch 2022\n",
"geometry POINT (0 0)\n",
"Name: 12506, Length: 973, dtype: object\n"
]
2022-03-29 17:09:52 +02:00
}
],
"source": [
"for index, row in df_geojson.iterrows():\n",
" if (row.geometry.centroid.x == 0.00000):\n",
" print(row)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
2022-04-20 13:03:38 +02:00
"Het zijn dus duidelijk allemaal mobiele stemlokalen, die kunnen we in een aparte dataset houden voor later, voor nu zijn ze onbelangrijk voor de kaartweergave, laten we de dataset dus opsplitsen in drie dataframes, de originele, één frame zonder de mobiele stemlokalen, en de mobiele stemlokalen alleen."
]
},
{
"cell_type": "code",
"execution_count": 168,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"2520\n",
"2521\n",
"2918\n",
"3579\n",
"3580\n",
"3581\n",
"3582\n",
"3583\n",
"5494\n",
"5784\n",
"5785\n",
"6260\n",
"6261\n",
"6738\n",
"6739\n",
"6863\n",
"7348\n",
"7364\n",
"7857\n",
"7912\n",
"7913\n",
"7923\n",
"7924\n",
"7926\n",
"7958\n",
"7959\n",
"7960\n",
"8108\n",
"8109\n",
"8161\n",
"8162\n",
"8163\n",
"8318\n",
"9093\n",
"9151\n",
"9152\n",
"9153\n",
"9661\n",
"9853\n",
"10427\n",
"10431\n",
"10497\n",
"10498\n",
"10525\n",
"10526\n",
"10527\n",
"10528\n",
"10623\n",
"10624\n",
"10894\n",
"10895\n",
"11032\n",
"11101\n",
"12038\n",
"12039\n",
"12053\n",
"12054\n",
"12118\n",
"12119\n",
"12120\n",
"12121\n",
"12504\n",
"12505\n",
"12506\n"
]
}
],
"source": [
2022-05-06 14:51:01 +02:00
"# De waarschuwing over de projectie die niet klopt kan genegeerd worden, we zoeken naar data die x = 0 is,\n",
"# de projectie gaat geen effect hebben op die data in Nederland.\n",
"\n",
"# Filter de data en print welke waardes 0 hebben op x.\n",
"mobiel_mask = df_geojson['geometry'].centroid.x == 0\n",
"i = 0\n",
"for item in mobiel_mask:\n",
" if item:\n",
" print(i)\n",
" i = i + 1"
]
},
{
"cell_type": "code",
"execution_count": 169,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" Stembureau Adres Locatie \\\n",
"0 1 9461BH SB1 \n",
"1 2 9461DA SB2 \n",
"2 3 9461JA SB3 \n",
"3 4 9451KD SB4 \n",
"4 6 9454PL SB6 \n",
"... ... ... ... \n",
"12591 703 5391AR SB703 \n",
"12592 705 5391AR SB705 \n",
"12593 750 5382KE SB750 \n",
"12594 751 5382KE SB751 \n",
"12595 752 5283KE SB752 \n",
"\n",
" description Geldige stemmen \\\n",
"0 Stembureau Gemeentehuis Gieten (postcode: 9461... 784 \n",
"1 Stembureau OBS Gieten (postcode: 9461 DA) 562 \n",
"2 Stembureau Zorgcentrum Dekelhem (postcode: 946... 566 \n",
"3 Stembureau Ontmoetingscentrum Boerhorn Rolde (... 1495 \n",
"4 Stembureau Dropshuis de Eekhof (postcode: 9454... 347 \n",
"... ... ... \n",
"12591 Stembureau Stembureau Gemeenschapshuis de Meen... 268 \n",
"12592 Stembureau Stembureau Gemeenschapshuis De Meen... 398 \n",
"12593 Stembureau Stembureau Gemeenschapshuis 't Zijl... 663 \n",
"12594 Stembureau Stembureau Gemeenschapshuis 't Zijl... 170 \n",
"12595 Stembureau Stembureau Gemeenschapshuis 't Zijl... 222 \n",
"\n",
" Opgeroepen Ongeldig Blanco Geldige stempassen \\\n",
"0 2780 3 3 700 \n",
"1 1396 0 0 518 \n",
"2 1409 2 2 516 \n",
"3 2209 2 4 1335 \n",
"4 477 0 2 298 \n",
"... ... ... ... ... \n",
"12591 0 0 1 237 \n",
"12592 0 1 0 359 \n",
"12593 2321 2 0 552 \n",
"12594 0 0 0 151 \n",
"12595 0 0 0 193 \n",
"\n",
2022-05-09 18:30:16 +02:00
" Geldige volmachtbewijzen ... Partij voor Logisch Beleid (PvLB) \\\n",
"0 90 ... NaN \n",
"1 44 ... NaN \n",
"2 54 ... NaN \n",
"3 166 ... NaN \n",
"4 51 ... NaN \n",
"... ... ... ... \n",
"12591 32 ... NaN \n",
"12592 40 ... NaN \n",
"12593 113 ... NaN \n",
"12594 19 ... NaN \n",
"12595 29 ... NaN \n",
"\n",
2022-05-09 18:30:16 +02:00
" Socialisten 010 Jong Rotterdam VOOR Den Bosch Joep Gersjes \\\n",
"0 NaN NaN NaN \n",
"1 NaN NaN NaN \n",
"2 NaN NaN NaN \n",
"3 NaN NaN NaN \n",
"4 NaN NaN NaN \n",
"... ... ... ... \n",
"12591 NaN NaN 0.0 \n",
"12592 NaN NaN 2.0 \n",
"12593 NaN NaN 5.0 \n",
"12594 NaN NaN 1.0 \n",
"12595 NaN NaN 0.0 \n",
"\n",
2022-05-09 18:30:16 +02:00
" Zorg Voor Gorkum één-Ermelo gmcode election \\\n",
"0 NaN NaN GM1680 GR2022_AaenHunze \n",
"1 NaN NaN GM1680 GR2022_AaenHunze \n",
"2 NaN NaN GM1680 GR2022_AaenHunze \n",
"3 NaN NaN GM1680 GR2022_AaenHunze \n",
"4 NaN NaN GM1680 GR2022_AaenHunze \n",
"... ... ... ... ... \n",
"12591 NaN NaN GM0796 GR2022_sHertogenbosch \n",
"12592 NaN NaN GM0796 GR2022_sHertogenbosch \n",
"12593 NaN NaN GM0796 GR2022_sHertogenbosch \n",
"12594 NaN NaN GM0796 GR2022_sHertogenbosch \n",
"12595 NaN NaN GM0796 GR2022_sHertogenbosch \n",
"\n",
2022-05-09 18:30:16 +02:00
" electionName geometry \n",
"0 Gemeenteraad Aa en Hunze 2022 POINT (6.75899 53.00524) \n",
"1 Gemeenteraad Aa en Hunze 2022 POINT (6.75990 52.99975) \n",
"2 Gemeenteraad Aa en Hunze 2022 POINT (6.76600 53.00494) \n",
"3 Gemeenteraad Aa en Hunze 2022 POINT (6.64736 52.98281) \n",
"4 Gemeenteraad Aa en Hunze 2022 POINT (6.60459 52.95269) \n",
"... ... ... \n",
"12591 Gemeenteraad 's-Hertogenbosch 2022 POINT (5.43290 51.72810) \n",
"12592 Gemeenteraad 's-Hertogenbosch 2022 POINT (5.43290 51.72810) \n",
"12593 Gemeenteraad 's-Hertogenbosch 2022 POINT (5.45919 51.70595) \n",
"12594 Gemeenteraad 's-Hertogenbosch 2022 POINT (5.45919 51.70595) \n",
"12595 Gemeenteraad 's-Hertogenbosch 2022 POINT (5.45919 51.70595) \n",
"\n",
"[12532 rows x 973 columns]\n"
]
}
],
"source": [
"df_geojson_clean = df_geojson[~mobiel_mask]\n",
"df_geojson_mobiel = df_geojson[mobiel_mask]\n",
"print(df_geojson_clean)"
]
},
2022-05-03 13:06:50 +02:00
{
"cell_type": "code",
"execution_count": 170,
2022-05-03 13:06:50 +02:00
"metadata": {},
"outputs": [],
"source": [
2022-05-06 14:51:01 +02:00
"# Let's also check if none fell through the cracks, it might be some mobile polls did actually have a location\n",
"# posted erroneously\n",
2022-05-03 13:06:50 +02:00
"#mobiel_mask_name = df_geojson_clean['description'].str.contains('Mobiel')\n",
"#df_geojson_clean = df_geojson_clean[~mobiel_mask_name]\n",
"#df_geojson_clean"
]
},
2022-05-06 14:51:01 +02:00
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 'Waar is mijn stemlokaal' dataset (wims)"
]
},
{
"cell_type": "code",
"execution_count": 171,
"metadata": {},
2022-04-20 13:03:38 +02:00
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Unnamed: 0</th>\n",
2022-05-03 13:06:50 +02:00
" <th>_id</th>\n",
" <th>Gemeente</th>\n",
" <th>CBS gemeentecode</th>\n",
" <th>Nummer stembureau</th>\n",
" <th>Naam stembureau</th>\n",
" <th>Gebruiksdoel van het gebouw</th>\n",
" <th>Website locatie</th>\n",
" <th>Wijknaam</th>\n",
" <th>CBS wijknummer</th>\n",
2022-04-20 13:03:38 +02:00
" <th>...</th>\n",
" <th>Visuele hulpmiddelen</th>\n",
" <th>Gehandicaptentoilet</th>\n",
2022-05-03 13:06:50 +02:00
" <th>Kieskring ID</th>\n",
" <th>Hoofdstembureau</th>\n",
" <th>Tellocatie</th>\n",
" <th>Contactgegevens gemeente</th>\n",
" <th>Verkiezingswebsite gemeente</th>\n",
" <th>Verkiezingen</th>\n",
" <th>ID</th>\n",
" <th>UUID</th>\n",
2022-04-20 13:03:38 +02:00
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>0</td>\n",
2022-04-20 13:03:38 +02:00
" <td>1</td>\n",
2022-05-03 13:06:50 +02:00
" <td>Valkenswaard</td>\n",
" <td>GM0858</td>\n",
" <td>1</td>\n",
" <td>Zorgcentrum Kempenhof</td>\n",
" <td>gezondheidszorgfunctie</td>\n",
" <td>https://www.valkenhof.nl/</td>\n",
2022-04-20 13:03:38 +02:00
" <td>NaN</td>\n",
" <td>NaN</td>\n",
2022-05-03 13:06:50 +02:00
" <td>...</td>\n",
" <td>leesloep</td>\n",
" <td>ja</td>\n",
2022-05-03 13:06:50 +02:00
" <td>Valkenswaard</td>\n",
" <td>Valkenswaard</td>\n",
2022-04-20 13:03:38 +02:00
" <td>NaN</td>\n",
2022-05-03 13:06:50 +02:00
" <td>verkiezingen@valkenswaard.nl</td>\n",
" <td>http://www.valkenswaard.nl/verkiezingen</td>\n",
2022-04-20 13:03:38 +02:00
" <td>NaN</td>\n",
2022-05-03 13:06:50 +02:00
" <td>NLODSGM0858stembureaus20220316009</td>\n",
" <td>3a612b2151fa4ab491b9e331355e6258</td>\n",
2022-04-20 13:03:38 +02:00
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>1</td>\n",
2022-04-20 13:03:38 +02:00
" <td>2</td>\n",
2022-05-03 13:06:50 +02:00
" <td>Valkenswaard</td>\n",
" <td>GM0858</td>\n",
" <td>2</td>\n",
" <td>Buurtgebouw De Horizon</td>\n",
" <td>bijeenkomstfunctie</td>\n",
2022-04-20 13:03:38 +02:00
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
2022-05-03 13:06:50 +02:00
" <td>...</td>\n",
" <td>leesloep</td>\n",
" <td>NaN</td>\n",
2022-05-03 13:06:50 +02:00
" <td>Valkenswaard</td>\n",
" <td>Valkenswaard</td>\n",
2022-04-20 13:03:38 +02:00
" <td>NaN</td>\n",
2022-05-03 13:06:50 +02:00
" <td>verkiezingen@valkenswaard.nl</td>\n",
" <td>http://www.valkenswaard.nl/verkiezingen</td>\n",
2022-04-20 13:03:38 +02:00
" <td>NaN</td>\n",
2022-05-03 13:06:50 +02:00
" <td>NLODSGM0858stembureaus20220316009</td>\n",
" <td>9a01d765af0a467ea37f08d92db114ba</td>\n",
2022-04-20 13:03:38 +02:00
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>2</td>\n",
2022-04-20 13:03:38 +02:00
" <td>3</td>\n",
2022-05-03 13:06:50 +02:00
" <td>Valkenswaard</td>\n",
" <td>GM0858</td>\n",
" <td>3</td>\n",
" <td>Speeltuin Geenhoven</td>\n",
" <td>bijeenkomstfunctie</td>\n",
2022-04-20 13:03:38 +02:00
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
2022-05-03 13:06:50 +02:00
" <td>...</td>\n",
" <td>leesloep</td>\n",
" <td>NaN</td>\n",
2022-05-03 13:06:50 +02:00
" <td>Valkenswaard</td>\n",
" <td>Valkenswaard</td>\n",
2022-04-20 13:03:38 +02:00
" <td>NaN</td>\n",
2022-05-03 13:06:50 +02:00
" <td>verkiezingen@valkenswaard.nl</td>\n",
" <td>http://www.valkenswaard.nl/verkiezingen</td>\n",
2022-04-20 13:03:38 +02:00
" <td>NaN</td>\n",
2022-05-03 13:06:50 +02:00
" <td>NLODSGM0858stembureaus20220316009</td>\n",
" <td>fc5869d33fbc4b06be659149fa615f4c</td>\n",
2022-04-20 13:03:38 +02:00
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>3</td>\n",
2022-04-20 13:03:38 +02:00
" <td>4</td>\n",
2022-05-03 13:06:50 +02:00
" <td>Valkenswaard</td>\n",
" <td>GM0858</td>\n",
2022-04-20 13:03:38 +02:00
" <td>4</td>\n",
2022-05-03 13:06:50 +02:00
" <td>Ontmoetingscentrum De zoete inval</td>\n",
" <td>bijeenkomstfunctie</td>\n",
2022-04-20 13:03:38 +02:00
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
2022-05-03 13:06:50 +02:00
" <td>...</td>\n",
" <td>leesloep</td>\n",
" <td>NaN</td>\n",
2022-05-03 13:06:50 +02:00
" <td>Valkenswaard</td>\n",
" <td>Valkenswaard</td>\n",
2022-04-20 13:03:38 +02:00
" <td>NaN</td>\n",
2022-05-03 13:06:50 +02:00
" <td>verkiezingen@valkenswaard.nl</td>\n",
" <td>http://www.valkenswaard.nl/verkiezingen</td>\n",
2022-04-20 13:03:38 +02:00
" <td>NaN</td>\n",
2022-05-03 13:06:50 +02:00
" <td>NLODSGM0858stembureaus20220316009</td>\n",
" <td>4427cc0b39e040ba8f75c333f19d66f0</td>\n",
2022-04-20 13:03:38 +02:00
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>4</td>\n",
2022-05-03 13:06:50 +02:00
" <td>5</td>\n",
" <td>Valkenswaard</td>\n",
" <td>GM0858</td>\n",
" <td>5</td>\n",
" <td>Gymnastiekzaal 't Gegraaf</td>\n",
" <td>sportfunctie</td>\n",
2022-04-20 13:03:38 +02:00
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
2022-05-03 13:06:50 +02:00
" <td>...</td>\n",
" <td>leesloep</td>\n",
" <td>NaN</td>\n",
2022-05-03 13:06:50 +02:00
" <td>Valkenswaard</td>\n",
" <td>Valkenswaard</td>\n",
2022-04-20 13:03:38 +02:00
" <td>NaN</td>\n",
2022-05-03 13:06:50 +02:00
" <td>verkiezingen@valkenswaard.nl</td>\n",
" <td>http://www.valkenswaard.nl/verkiezingen</td>\n",
2022-04-20 13:03:38 +02:00
" <td>NaN</td>\n",
2022-05-03 13:06:50 +02:00
" <td>NLODSGM0858stembureaus20220316009</td>\n",
" <td>a893bb9add324ce29769f1c39afcc48d</td>\n",
2022-04-20 13:03:38 +02:00
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
2022-05-03 13:06:50 +02:00
" <th>9270</th>\n",
" <td>9270</td>\n",
2022-05-03 13:06:50 +02:00
" <td>38745</td>\n",
" <td>Gennep</td>\n",
" <td>GM0907</td>\n",
" <td>4</td>\n",
" <td>Het Hökske</td>\n",
" <td>bijeenkomstfunctie</td>\n",
" <td>NaN</td>\n",
2022-04-20 13:03:38 +02:00
" <td>NaN</td>\n",
" <td>NaN</td>\n",
2022-05-03 13:06:50 +02:00
" <td>...</td>\n",
" <td>Leesloep</td>\n",
" <td>NaN</td>\n",
2022-05-03 13:06:50 +02:00
" <td>Gennep</td>\n",
" <td>Gennep</td>\n",
" <td>ja</td>\n",
" <td>Klantcontactcentrum gemeente Gennep gemeente@g...</td>\n",
" <td>https://www.gennep.nl</td>\n",
" <td>NaN</td>\n",
" <td>NLODSGM0907stembureaus20220316009</td>\n",
" <td>f744546cd6894e5e9a4db4bbfd81b4ee</td>\n",
2022-04-20 13:03:38 +02:00
" </tr>\n",
" <tr>\n",
2022-05-03 13:06:50 +02:00
" <th>9271</th>\n",
" <td>9271</td>\n",
2022-05-03 13:06:50 +02:00
" <td>38746</td>\n",
" <td>Gennep</td>\n",
" <td>GM0907</td>\n",
" <td>5</td>\n",
" <td>Buurthuis VanOns</td>\n",
" <td>bijeenkomstfunctie</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
2022-04-20 13:03:38 +02:00
" <td>NaN</td>\n",
2022-05-03 13:06:50 +02:00
" <td>...</td>\n",
" <td>Leesloep</td>\n",
" <td>NaN</td>\n",
2022-05-03 13:06:50 +02:00
" <td>Gennep</td>\n",
" <td>Gennep</td>\n",
" <td>ja</td>\n",
" <td>Klantcontactcentrum gemeente Gennep gemeente@g...</td>\n",
" <td>https://www.gennep.nl</td>\n",
2022-04-20 13:03:38 +02:00
" <td>NaN</td>\n",
2022-05-03 13:06:50 +02:00
" <td>NLODSGM0907stembureaus20220316009</td>\n",
" <td>1270081b1dc74cd7bea0f45973650408</td>\n",
2022-04-20 13:03:38 +02:00
" </tr>\n",
" <tr>\n",
2022-05-03 13:06:50 +02:00
" <th>9272</th>\n",
" <td>9272</td>\n",
2022-05-03 13:06:50 +02:00
" <td>38747</td>\n",
" <td>Gennep</td>\n",
" <td>GM0907</td>\n",
" <td>6</td>\n",
" <td>'t Trefpunt</td>\n",
" <td>bijeenkomstfunctie</td>\n",
2022-04-20 13:03:38 +02:00
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
2022-05-03 13:06:50 +02:00
" <td>...</td>\n",
" <td>Leesloep</td>\n",
" <td>NaN</td>\n",
2022-05-03 13:06:50 +02:00
" <td>Gennep</td>\n",
" <td>Gennep</td>\n",
" <td>ja</td>\n",
" <td>Klantcontactcentrum gemeente Gennep gemeente@g...</td>\n",
" <td>https://www.gennep.nl</td>\n",
" <td>NaN</td>\n",
" <td>NLODSGM0907stembureaus20220316009</td>\n",
" <td>447c7742604345139e41def4cf1e4d3c</td>\n",
2022-04-20 13:03:38 +02:00
" </tr>\n",
" <tr>\n",
2022-05-03 13:06:50 +02:00
" <th>9273</th>\n",
" <td>9273</td>\n",
2022-05-03 13:06:50 +02:00
" <td>38748</td>\n",
" <td>Gennep</td>\n",
" <td>GM0907</td>\n",
" <td>8</td>\n",
" <td>De Uitkomst</td>\n",
" <td>bijeenkomstfunctie</td>\n",
" <td>NaN</td>\n",
2022-04-20 13:03:38 +02:00
" <td>NaN</td>\n",
" <td>NaN</td>\n",
2022-05-03 13:06:50 +02:00
" <td>...</td>\n",
" <td>Leesloep</td>\n",
" <td>NaN</td>\n",
2022-05-03 13:06:50 +02:00
" <td>Gennep</td>\n",
" <td>Gennep</td>\n",
" <td>ja</td>\n",
" <td>Klantcontactcentrum gemeente Gennep gemeente@g...</td>\n",
" <td>https://www.gennep.nl</td>\n",
" <td>NaN</td>\n",
" <td>NLODSGM0907stembureaus20220316009</td>\n",
" <td>049cfd258c174bc49abf17883396d083</td>\n",
2022-04-20 13:03:38 +02:00
" </tr>\n",
" <tr>\n",
2022-05-03 13:06:50 +02:00
" <th>9274</th>\n",
" <td>9274</td>\n",
2022-05-03 13:06:50 +02:00
" <td>38749</td>\n",
" <td>Gennep</td>\n",
" <td>GM0907</td>\n",
" <td>1</td>\n",
" <td>Zaal Buurman</td>\n",
" <td>woonfunctie,bijeenkomstfunctie</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
2022-04-20 13:03:38 +02:00
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
2022-05-03 13:06:50 +02:00
" <td>Gennep</td>\n",
" <td>Gennep</td>\n",
2022-04-20 13:03:38 +02:00
" <td>NaN</td>\n",
2022-05-03 13:06:50 +02:00
" <td>Klantcontactcentrum gemeente Gennep gemeente@g...</td>\n",
" <td>https://www.gennep.nl</td>\n",
" <td>NaN</td>\n",
" <td>NLODSGM0907stembureaus20220316009</td>\n",
" <td>1e8cbe96e72c4c6ba6303f47bec8cdb5</td>\n",
2022-04-20 13:03:38 +02:00
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>9275 rows × 40 columns</p>\n",
2022-04-20 13:03:38 +02:00
"</div>"
],
"text/plain": [
" Unnamed: 0 _id Gemeente CBS gemeentecode Nummer stembureau \\\n",
"0 0 1 Valkenswaard GM0858 1 \n",
"1 1 2 Valkenswaard GM0858 2 \n",
"2 2 3 Valkenswaard GM0858 3 \n",
"3 3 4 Valkenswaard GM0858 4 \n",
"4 4 5 Valkenswaard GM0858 5 \n",
"... ... ... ... ... ... \n",
"9270 9270 38745 Gennep GM0907 4 \n",
"9271 9271 38746 Gennep GM0907 5 \n",
"9272 9272 38747 Gennep GM0907 6 \n",
"9273 9273 38748 Gennep GM0907 8 \n",
"9274 9274 38749 Gennep GM0907 1 \n",
2022-04-20 13:03:38 +02:00
"\n",
2022-05-03 13:06:50 +02:00
" Naam stembureau Gebruiksdoel van het gebouw \\\n",
"0 Zorgcentrum Kempenhof gezondheidszorgfunctie \n",
"1 Buurtgebouw De Horizon bijeenkomstfunctie \n",
"2 Speeltuin Geenhoven bijeenkomstfunctie \n",
"3 Ontmoetingscentrum De zoete inval bijeenkomstfunctie \n",
"4 Gymnastiekzaal 't Gegraaf sportfunctie \n",
"... ... ... \n",
"9270 Het Hökske bijeenkomstfunctie \n",
"9271 Buurthuis VanOns bijeenkomstfunctie \n",
"9272 't Trefpunt bijeenkomstfunctie \n",
"9273 De Uitkomst bijeenkomstfunctie \n",
"9274 Zaal Buurman woonfunctie,bijeenkomstfunctie \n",
2022-04-20 13:03:38 +02:00
"\n",
" Website locatie Wijknaam CBS wijknummer ... \\\n",
"0 https://www.valkenhof.nl/ NaN NaN ... \n",
"1 NaN NaN NaN ... \n",
"2 NaN NaN NaN ... \n",
"3 NaN NaN NaN ... \n",
"4 NaN NaN NaN ... \n",
"... ... ... ... ... \n",
"9270 NaN NaN NaN ... \n",
"9271 NaN NaN NaN ... \n",
"9272 NaN NaN NaN ... \n",
"9273 NaN NaN NaN ... \n",
"9274 NaN NaN NaN ... \n",
2022-04-20 13:03:38 +02:00
"\n",
" Visuele hulpmiddelen Gehandicaptentoilet Kieskring ID Hoofdstembureau \\\n",
"0 leesloep ja Valkenswaard Valkenswaard \n",
"1 leesloep NaN Valkenswaard Valkenswaard \n",
"2 leesloep NaN Valkenswaard Valkenswaard \n",
"3 leesloep NaN Valkenswaard Valkenswaard \n",
"4 leesloep NaN Valkenswaard Valkenswaard \n",
"... ... ... ... ... \n",
"9270 Leesloep NaN Gennep Gennep \n",
"9271 Leesloep NaN Gennep Gennep \n",
"9272 Leesloep NaN Gennep Gennep \n",
"9273 Leesloep NaN Gennep Gennep \n",
"9274 NaN NaN Gennep Gennep \n",
2022-04-20 13:03:38 +02:00
"\n",
" Tellocatie Contactgegevens gemeente \\\n",
"0 NaN verkiezingen@valkenswaard.nl \n",
"1 NaN verkiezingen@valkenswaard.nl \n",
"2 NaN verkiezingen@valkenswaard.nl \n",
"3 NaN verkiezingen@valkenswaard.nl \n",
"4 NaN verkiezingen@valkenswaard.nl \n",
"... ... ... \n",
"9270 ja Klantcontactcentrum gemeente Gennep gemeente@g... \n",
"9271 ja Klantcontactcentrum gemeente Gennep gemeente@g... \n",
"9272 ja Klantcontactcentrum gemeente Gennep gemeente@g... \n",
"9273 ja Klantcontactcentrum gemeente Gennep gemeente@g... \n",
"9274 NaN Klantcontactcentrum gemeente Gennep gemeente@g... \n",
2022-04-20 13:03:38 +02:00
"\n",
2022-05-03 13:06:50 +02:00
" Verkiezingswebsite gemeente Verkiezingen \\\n",
"0 http://www.valkenswaard.nl/verkiezingen NaN \n",
"1 http://www.valkenswaard.nl/verkiezingen NaN \n",
"2 http://www.valkenswaard.nl/verkiezingen NaN \n",
"3 http://www.valkenswaard.nl/verkiezingen NaN \n",
"4 http://www.valkenswaard.nl/verkiezingen NaN \n",
"... ... ... \n",
"9270 https://www.gennep.nl NaN \n",
"9271 https://www.gennep.nl NaN \n",
"9272 https://www.gennep.nl NaN \n",
"9273 https://www.gennep.nl NaN \n",
"9274 https://www.gennep.nl NaN \n",
2022-04-20 13:03:38 +02:00
"\n",
" ID UUID \n",
"0 NLODSGM0858stembureaus20220316009 3a612b2151fa4ab491b9e331355e6258 \n",
"1 NLODSGM0858stembureaus20220316009 9a01d765af0a467ea37f08d92db114ba \n",
"2 NLODSGM0858stembureaus20220316009 fc5869d33fbc4b06be659149fa615f4c \n",
"3 NLODSGM0858stembureaus20220316009 4427cc0b39e040ba8f75c333f19d66f0 \n",
"4 NLODSGM0858stembureaus20220316009 a893bb9add324ce29769f1c39afcc48d \n",
"... ... ... \n",
"9270 NLODSGM0907stembureaus20220316009 f744546cd6894e5e9a4db4bbfd81b4ee \n",
"9271 NLODSGM0907stembureaus20220316009 1270081b1dc74cd7bea0f45973650408 \n",
"9272 NLODSGM0907stembureaus20220316009 447c7742604345139e41def4cf1e4d3c \n",
"9273 NLODSGM0907stembureaus20220316009 049cfd258c174bc49abf17883396d083 \n",
"9274 NLODSGM0907stembureaus20220316009 1e8cbe96e72c4c6ba6303f47bec8cdb5 \n",
2022-04-20 13:03:38 +02:00
"\n",
"[9275 rows x 40 columns]"
2022-04-20 13:03:38 +02:00
]
},
"execution_count": 171,
2022-04-20 13:03:38 +02:00
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_wims = pd.read_csv(r'../data/wims_clean.csv')\n",
2022-05-03 13:06:50 +02:00
"df_wims"
2022-04-20 13:03:38 +02:00
]
},
{
"cell_type": "code",
"execution_count": 172,
"metadata": {},
"outputs": [],
"source": [
"df_wims2 = pd.read_csv(r'../data/wims-3.csv')\n",
"df_wims['Gebruiksdoel van het gebouw'] = df_wims['Gebruiksdoel van het gebouw'].mask(df_wims['Gebruiksdoel van het gebouw'].eq(0)).fillna(\n",
" df_wims['UUID'].map(df_wims2.set_index('UUID')['Gebruiksdoel van het gebouw'])\n",
")\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 173,
"metadata": {},
"outputs": [],
"source": [
"df_wims.to_csv(path_or_buf='../data/export/wims_clean.csv', sep=',', na_rep='', header=True)"
]
},
{
"cell_type": "code",
"execution_count": 174,
2022-04-20 13:03:38 +02:00
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Unnamed: 0</th>\n",
2022-04-20 13:03:38 +02:00
" <th>_id</th>\n",
" <th>Gemeente</th>\n",
" <th>CBS gemeentecode</th>\n",
" <th>Nummer stembureau</th>\n",
" <th>Naam stembureau</th>\n",
" <th>Gebruiksdoel van het gebouw</th>\n",
" <th>Website locatie</th>\n",
" <th>Wijknaam</th>\n",
" <th>CBS wijknummer</th>\n",
" <th>...</th>\n",
" <th>Gehandicaptentoilet</th>\n",
" <th>Kieskring ID</th>\n",
2022-04-20 13:03:38 +02:00
" <th>Hoofdstembureau</th>\n",
" <th>Tellocatie</th>\n",
" <th>Contactgegevens gemeente</th>\n",
" <th>Verkiezingswebsite gemeente</th>\n",
" <th>Verkiezingen</th>\n",
" <th>ID</th>\n",
" <th>UUID</th>\n",
2022-05-03 13:06:50 +02:00
" <th>geometry</th>\n",
2022-04-20 13:03:38 +02:00
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>0</td>\n",
2022-04-20 13:03:38 +02:00
" <td>1</td>\n",
" <td>Valkenswaard</td>\n",
" <td>GM0858</td>\n",
" <td>1</td>\n",
" <td>Zorgcentrum Kempenhof</td>\n",
" <td>gezondheidszorgfunctie</td>\n",
" <td>https://www.valkenhof.nl/</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>...</td>\n",
" <td>ja</td>\n",
" <td>Valkenswaard</td>\n",
2022-04-20 13:03:38 +02:00
" <td>Valkenswaard</td>\n",
" <td>NaN</td>\n",
" <td>verkiezingen@valkenswaard.nl</td>\n",
" <td>http://www.valkenswaard.nl/verkiezingen</td>\n",
" <td>NaN</td>\n",
" <td>NLODSGM0858stembureaus20220316009</td>\n",
" <td>3a612b2151fa4ab491b9e331355e6258</td>\n",
2022-05-03 13:06:50 +02:00
" <td>POINT (5.45515 51.34711)</td>\n",
2022-04-20 13:03:38 +02:00
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>1</td>\n",
2022-04-20 13:03:38 +02:00
" <td>2</td>\n",
" <td>Valkenswaard</td>\n",
" <td>GM0858</td>\n",
" <td>2</td>\n",
" <td>Buurtgebouw De Horizon</td>\n",
" <td>bijeenkomstfunctie</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>Valkenswaard</td>\n",
2022-04-20 13:03:38 +02:00
" <td>Valkenswaard</td>\n",
" <td>NaN</td>\n",
" <td>verkiezingen@valkenswaard.nl</td>\n",
" <td>http://www.valkenswaard.nl/verkiezingen</td>\n",
" <td>NaN</td>\n",
" <td>NLODSGM0858stembureaus20220316009</td>\n",
" <td>9a01d765af0a467ea37f08d92db114ba</td>\n",
2022-05-03 13:06:50 +02:00
" <td>POINT (5.45137 51.34955)</td>\n",
2022-04-20 13:03:38 +02:00
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>2</td>\n",
2022-04-20 13:03:38 +02:00
" <td>3</td>\n",
" <td>Valkenswaard</td>\n",
" <td>GM0858</td>\n",
" <td>3</td>\n",
" <td>Speeltuin Geenhoven</td>\n",
" <td>bijeenkomstfunctie</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>Valkenswaard</td>\n",
2022-04-20 13:03:38 +02:00
" <td>Valkenswaard</td>\n",
" <td>NaN</td>\n",
" <td>verkiezingen@valkenswaard.nl</td>\n",
" <td>http://www.valkenswaard.nl/verkiezingen</td>\n",
" <td>NaN</td>\n",
" <td>NLODSGM0858stembureaus20220316009</td>\n",
" <td>fc5869d33fbc4b06be659149fa615f4c</td>\n",
2022-05-03 13:06:50 +02:00
" <td>POINT (5.44827 51.35702)</td>\n",
2022-04-20 13:03:38 +02:00
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>3</td>\n",
2022-04-20 13:03:38 +02:00
" <td>4</td>\n",
" <td>Valkenswaard</td>\n",
" <td>GM0858</td>\n",
" <td>4</td>\n",
" <td>Ontmoetingscentrum De zoete inval</td>\n",
" <td>bijeenkomstfunctie</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>Valkenswaard</td>\n",
2022-04-20 13:03:38 +02:00
" <td>Valkenswaard</td>\n",
" <td>NaN</td>\n",
" <td>verkiezingen@valkenswaard.nl</td>\n",
" <td>http://www.valkenswaard.nl/verkiezingen</td>\n",
" <td>NaN</td>\n",
" <td>NLODSGM0858stembureaus20220316009</td>\n",
" <td>4427cc0b39e040ba8f75c333f19d66f0</td>\n",
2022-05-03 13:06:50 +02:00
" <td>POINT (5.44871 51.36022)</td>\n",
2022-04-20 13:03:38 +02:00
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>4</td>\n",
2022-04-20 13:03:38 +02:00
" <td>5</td>\n",
" <td>Valkenswaard</td>\n",
" <td>GM0858</td>\n",
" <td>5</td>\n",
" <td>Gymnastiekzaal 't Gegraaf</td>\n",
" <td>sportfunctie</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>Valkenswaard</td>\n",
2022-04-20 13:03:38 +02:00
" <td>Valkenswaard</td>\n",
" <td>NaN</td>\n",
" <td>verkiezingen@valkenswaard.nl</td>\n",
" <td>http://www.valkenswaard.nl/verkiezingen</td>\n",
" <td>NaN</td>\n",
" <td>NLODSGM0858stembureaus20220316009</td>\n",
" <td>a893bb9add324ce29769f1c39afcc48d</td>\n",
2022-05-03 13:06:50 +02:00
" <td>POINT (5.45331 51.36514)</td>\n",
2022-04-20 13:03:38 +02:00
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
2022-05-03 13:06:50 +02:00
" <th>9270</th>\n",
" <td>9270</td>\n",
2022-05-03 13:06:50 +02:00
" <td>38745</td>\n",
" <td>Gennep</td>\n",
" <td>GM0907</td>\n",
" <td>4</td>\n",
" <td>Het Hökske</td>\n",
2022-04-20 13:03:38 +02:00
" <td>bijeenkomstfunctie</td>\n",
2022-05-03 13:06:50 +02:00
" <td>NaN</td>\n",
2022-04-20 13:03:38 +02:00
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>Gennep</td>\n",
2022-05-03 13:06:50 +02:00
" <td>Gennep</td>\n",
2022-04-20 13:03:38 +02:00
" <td>ja</td>\n",
2022-05-03 13:06:50 +02:00
" <td>Klantcontactcentrum gemeente Gennep gemeente@g...</td>\n",
" <td>https://www.gennep.nl</td>\n",
2022-04-20 13:03:38 +02:00
" <td>NaN</td>\n",
2022-05-03 13:06:50 +02:00
" <td>NLODSGM0907stembureaus20220316009</td>\n",
" <td>f744546cd6894e5e9a4db4bbfd81b4ee</td>\n",
" <td>POINT (5.98266 51.69726)</td>\n",
2022-04-20 13:03:38 +02:00
" </tr>\n",
" <tr>\n",
2022-05-03 13:06:50 +02:00
" <th>9271</th>\n",
" <td>9271</td>\n",
2022-05-03 13:06:50 +02:00
" <td>38746</td>\n",
" <td>Gennep</td>\n",
" <td>GM0907</td>\n",
" <td>5</td>\n",
" <td>Buurthuis VanOns</td>\n",
" <td>bijeenkomstfunctie</td>\n",
" <td>NaN</td>\n",
2022-04-20 13:03:38 +02:00
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>Gennep</td>\n",
2022-05-03 13:06:50 +02:00
" <td>Gennep</td>\n",
2022-04-20 13:03:38 +02:00
" <td>ja</td>\n",
2022-05-03 13:06:50 +02:00
" <td>Klantcontactcentrum gemeente Gennep gemeente@g...</td>\n",
" <td>https://www.gennep.nl</td>\n",
2022-04-20 13:03:38 +02:00
" <td>NaN</td>\n",
2022-05-03 13:06:50 +02:00
" <td>NLODSGM0907stembureaus20220316009</td>\n",
" <td>1270081b1dc74cd7bea0f45973650408</td>\n",
" <td>POINT (5.98127 51.69000)</td>\n",
2022-04-20 13:03:38 +02:00
" </tr>\n",
" <tr>\n",
2022-05-03 13:06:50 +02:00
" <th>9272</th>\n",
" <td>9272</td>\n",
2022-05-03 13:06:50 +02:00
" <td>38747</td>\n",
" <td>Gennep</td>\n",
" <td>GM0907</td>\n",
" <td>6</td>\n",
" <td>'t Trefpunt</td>\n",
" <td>bijeenkomstfunctie</td>\n",
" <td>NaN</td>\n",
2022-04-20 13:03:38 +02:00
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>Gennep</td>\n",
2022-05-03 13:06:50 +02:00
" <td>Gennep</td>\n",
2022-04-20 13:03:38 +02:00
" <td>ja</td>\n",
2022-05-03 13:06:50 +02:00
" <td>Klantcontactcentrum gemeente Gennep gemeente@g...</td>\n",
" <td>https://www.gennep.nl</td>\n",
2022-04-20 13:03:38 +02:00
" <td>NaN</td>\n",
2022-05-03 13:06:50 +02:00
" <td>NLODSGM0907stembureaus20220316009</td>\n",
" <td>447c7742604345139e41def4cf1e4d3c</td>\n",
" <td>POINT (5.95118 51.72591)</td>\n",
2022-04-20 13:03:38 +02:00
" </tr>\n",
" <tr>\n",
2022-05-03 13:06:50 +02:00
" <th>9273</th>\n",
" <td>9273</td>\n",
2022-05-03 13:06:50 +02:00
" <td>38748</td>\n",
" <td>Gennep</td>\n",
" <td>GM0907</td>\n",
" <td>8</td>\n",
" <td>De Uitkomst</td>\n",
" <td>bijeenkomstfunctie</td>\n",
" <td>NaN</td>\n",
2022-04-20 13:03:38 +02:00
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>Gennep</td>\n",
2022-05-03 13:06:50 +02:00
" <td>Gennep</td>\n",
2022-04-20 13:03:38 +02:00
" <td>ja</td>\n",
2022-05-03 13:06:50 +02:00
" <td>Klantcontactcentrum gemeente Gennep gemeente@g...</td>\n",
" <td>https://www.gennep.nl</td>\n",
2022-04-20 13:03:38 +02:00
" <td>NaN</td>\n",
2022-05-03 13:06:50 +02:00
" <td>NLODSGM0907stembureaus20220316009</td>\n",
" <td>049cfd258c174bc49abf17883396d083</td>\n",
" <td>POINT (6.01556 51.70976)</td>\n",
2022-04-20 13:03:38 +02:00
" </tr>\n",
" <tr>\n",
2022-05-03 13:06:50 +02:00
" <th>9274</th>\n",
" <td>9274</td>\n",
2022-05-03 13:06:50 +02:00
" <td>38749</td>\n",
" <td>Gennep</td>\n",
" <td>GM0907</td>\n",
" <td>1</td>\n",
" <td>Zaal Buurman</td>\n",
" <td>woonfunctie,bijeenkomstfunctie</td>\n",
" <td>NaN</td>\n",
2022-04-20 13:03:38 +02:00
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>Gennep</td>\n",
2022-05-03 13:06:50 +02:00
" <td>Gennep</td>\n",
2022-04-20 13:03:38 +02:00
" <td>NaN</td>\n",
2022-05-03 13:06:50 +02:00
" <td>Klantcontactcentrum gemeente Gennep gemeente@g...</td>\n",
" <td>https://www.gennep.nl</td>\n",
" <td>NaN</td>\n",
" <td>NLODSGM0907stembureaus20220316009</td>\n",
" <td>1e8cbe96e72c4c6ba6303f47bec8cdb5</td>\n",
" <td>POINT (5.98514 51.70189)</td>\n",
2022-04-20 13:03:38 +02:00
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>9275 rows × 41 columns</p>\n",
2022-04-20 13:03:38 +02:00
"</div>"
],
"text/plain": [
" Unnamed: 0 _id Gemeente CBS gemeentecode Nummer stembureau \\\n",
"0 0 1 Valkenswaard GM0858 1 \n",
"1 1 2 Valkenswaard GM0858 2 \n",
"2 2 3 Valkenswaard GM0858 3 \n",
"3 3 4 Valkenswaard GM0858 4 \n",
"4 4 5 Valkenswaard GM0858 5 \n",
"... ... ... ... ... ... \n",
"9270 9270 38745 Gennep GM0907 4 \n",
"9271 9271 38746 Gennep GM0907 5 \n",
"9272 9272 38747 Gennep GM0907 6 \n",
"9273 9273 38748 Gennep GM0907 8 \n",
"9274 9274 38749 Gennep GM0907 1 \n",
2022-04-20 13:03:38 +02:00
"\n",
2022-05-03 13:06:50 +02:00
" Naam stembureau Gebruiksdoel van het gebouw \\\n",
"0 Zorgcentrum Kempenhof gezondheidszorgfunctie \n",
"1 Buurtgebouw De Horizon bijeenkomstfunctie \n",
"2 Speeltuin Geenhoven bijeenkomstfunctie \n",
"3 Ontmoetingscentrum De zoete inval bijeenkomstfunctie \n",
"4 Gymnastiekzaal 't Gegraaf sportfunctie \n",
"... ... ... \n",
"9270 Het Hökske bijeenkomstfunctie \n",
"9271 Buurthuis VanOns bijeenkomstfunctie \n",
"9272 't Trefpunt bijeenkomstfunctie \n",
"9273 De Uitkomst bijeenkomstfunctie \n",
"9274 Zaal Buurman woonfunctie,bijeenkomstfunctie \n",
2022-04-20 13:03:38 +02:00
"\n",
" Website locatie Wijknaam CBS wijknummer ... \\\n",
"0 https://www.valkenhof.nl/ NaN NaN ... \n",
"1 NaN NaN NaN ... \n",
"2 NaN NaN NaN ... \n",
"3 NaN NaN NaN ... \n",
"4 NaN NaN NaN ... \n",
"... ... ... ... ... \n",
"9270 NaN NaN NaN ... \n",
"9271 NaN NaN NaN ... \n",
"9272 NaN NaN NaN ... \n",
"9273 NaN NaN NaN ... \n",
"9274 NaN NaN NaN ... \n",
2022-04-20 13:03:38 +02:00
"\n",
" Gehandicaptentoilet Kieskring ID Hoofdstembureau Tellocatie \\\n",
"0 ja Valkenswaard Valkenswaard NaN \n",
"1 NaN Valkenswaard Valkenswaard NaN \n",
"2 NaN Valkenswaard Valkenswaard NaN \n",
"3 NaN Valkenswaard Valkenswaard NaN \n",
"4 NaN Valkenswaard Valkenswaard NaN \n",
"... ... ... ... ... \n",
"9270 NaN Gennep Gennep ja \n",
"9271 NaN Gennep Gennep ja \n",
"9272 NaN Gennep Gennep ja \n",
"9273 NaN Gennep Gennep ja \n",
"9274 NaN Gennep Gennep NaN \n",
2022-04-20 13:03:38 +02:00
"\n",
2022-05-03 13:06:50 +02:00
" Contactgegevens gemeente \\\n",
"0 verkiezingen@valkenswaard.nl \n",
"1 verkiezingen@valkenswaard.nl \n",
"2 verkiezingen@valkenswaard.nl \n",
"3 verkiezingen@valkenswaard.nl \n",
"4 verkiezingen@valkenswaard.nl \n",
"... ... \n",
"9270 Klantcontactcentrum gemeente Gennep gemeente@g... \n",
"9271 Klantcontactcentrum gemeente Gennep gemeente@g... \n",
"9272 Klantcontactcentrum gemeente Gennep gemeente@g... \n",
"9273 Klantcontactcentrum gemeente Gennep gemeente@g... \n",
"9274 Klantcontactcentrum gemeente Gennep gemeente@g... \n",
2022-04-20 13:03:38 +02:00
"\n",
2022-05-03 13:06:50 +02:00
" Verkiezingswebsite gemeente Verkiezingen \\\n",
"0 http://www.valkenswaard.nl/verkiezingen NaN \n",
"1 http://www.valkenswaard.nl/verkiezingen NaN \n",
"2 http://www.valkenswaard.nl/verkiezingen NaN \n",
"3 http://www.valkenswaard.nl/verkiezingen NaN \n",
"4 http://www.valkenswaard.nl/verkiezingen NaN \n",
"... ... ... \n",
"9270 https://www.gennep.nl NaN \n",
"9271 https://www.gennep.nl NaN \n",
"9272 https://www.gennep.nl NaN \n",
"9273 https://www.gennep.nl NaN \n",
"9274 https://www.gennep.nl NaN \n",
2022-04-20 13:03:38 +02:00
"\n",
2022-05-03 13:06:50 +02:00
" ID UUID \\\n",
"0 NLODSGM0858stembureaus20220316009 3a612b2151fa4ab491b9e331355e6258 \n",
"1 NLODSGM0858stembureaus20220316009 9a01d765af0a467ea37f08d92db114ba \n",
"2 NLODSGM0858stembureaus20220316009 fc5869d33fbc4b06be659149fa615f4c \n",
"3 NLODSGM0858stembureaus20220316009 4427cc0b39e040ba8f75c333f19d66f0 \n",
"4 NLODSGM0858stembureaus20220316009 a893bb9add324ce29769f1c39afcc48d \n",
"... ... ... \n",
"9270 NLODSGM0907stembureaus20220316009 f744546cd6894e5e9a4db4bbfd81b4ee \n",
"9271 NLODSGM0907stembureaus20220316009 1270081b1dc74cd7bea0f45973650408 \n",
"9272 NLODSGM0907stembureaus20220316009 447c7742604345139e41def4cf1e4d3c \n",
"9273 NLODSGM0907stembureaus20220316009 049cfd258c174bc49abf17883396d083 \n",
"9274 NLODSGM0907stembureaus20220316009 1e8cbe96e72c4c6ba6303f47bec8cdb5 \n",
2022-04-20 13:03:38 +02:00
"\n",
" geometry \n",
"0 POINT (5.45515 51.34711) \n",
"1 POINT (5.45137 51.34955) \n",
"2 POINT (5.44827 51.35702) \n",
"3 POINT (5.44871 51.36022) \n",
"4 POINT (5.45331 51.36514) \n",
"... ... \n",
"9270 POINT (5.98266 51.69726) \n",
"9271 POINT (5.98127 51.69000) \n",
"9272 POINT (5.95118 51.72591) \n",
"9273 POINT (6.01556 51.70976) \n",
"9274 POINT (5.98514 51.70189) \n",
2022-04-20 13:03:38 +02:00
"\n",
"[9275 rows x 41 columns]"
2022-04-20 13:03:38 +02:00
]
},
"execution_count": 174,
2022-04-20 13:03:38 +02:00
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
2022-05-06 14:51:01 +02:00
"# Convert the wims data to a geopandas dataframe\n",
2022-05-03 13:06:50 +02:00
"gdf_wims = gpd.GeoDataFrame(\n",
2022-05-06 14:51:01 +02:00
" df_wims,\n",
" geometry=gpd.points_from_xy(df_wims.Longitude, df_wims.Latitude)\n",
").set_crs(epsg=4326, inplace=True)\n",
2022-05-03 13:06:50 +02:00
"\n",
"gdf_wims"
2022-04-20 13:03:38 +02:00
]
},
{
"cell_type": "code",
"execution_count": 175,
2022-04-20 13:03:38 +02:00
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Unnamed: 0</th>\n",
2022-04-20 13:03:38 +02:00
" <th>_id</th>\n",
" <th>Gemeente</th>\n",
" <th>CBS gemeentecode</th>\n",
" <th>Nummer stembureau</th>\n",
" <th>Naam stembureau</th>\n",
" <th>Gebruiksdoel van het gebouw</th>\n",
" <th>Website locatie</th>\n",
" <th>Wijknaam</th>\n",
" <th>CBS wijknummer</th>\n",
" <th>...</th>\n",
" <th>Gehandicaptentoilet</th>\n",
" <th>Kieskring ID</th>\n",
2022-04-20 13:03:38 +02:00
" <th>Hoofdstembureau</th>\n",
" <th>Tellocatie</th>\n",
" <th>Contactgegevens gemeente</th>\n",
" <th>Verkiezingswebsite gemeente</th>\n",
" <th>Verkiezingen</th>\n",
" <th>ID</th>\n",
" <th>UUID</th>\n",
" <th>geometry</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>0</td>\n",
2022-04-20 13:03:38 +02:00
" <td>1</td>\n",
" <td>Valkenswaard</td>\n",
" <td>GM0858</td>\n",
" <td>1</td>\n",
" <td>Zorgcentrum Kempenhof</td>\n",
" <td>gezondheidszorgfunctie</td>\n",
" <td>https://www.valkenhof.nl/</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>...</td>\n",
" <td>ja</td>\n",
" <td>Valkenswaard</td>\n",
2022-04-20 13:03:38 +02:00
" <td>Valkenswaard</td>\n",
" <td>NaN</td>\n",
" <td>verkiezingen@valkenswaard.nl</td>\n",
" <td>http://www.valkenswaard.nl/verkiezingen</td>\n",
" <td>NaN</td>\n",
" <td>NLODSGM0858stembureaus20220316009</td>\n",
" <td>3a612b2151fa4ab491b9e331355e6258</td>\n",
" <td>POINT (5.45515 51.34711)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>1</td>\n",
2022-04-20 13:03:38 +02:00
" <td>2</td>\n",
" <td>Valkenswaard</td>\n",
" <td>GM0858</td>\n",
" <td>2</td>\n",
" <td>Buurtgebouw De Horizon</td>\n",
" <td>bijeenkomstfunctie</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>Valkenswaard</td>\n",
2022-04-20 13:03:38 +02:00
" <td>Valkenswaard</td>\n",
" <td>NaN</td>\n",
" <td>verkiezingen@valkenswaard.nl</td>\n",
" <td>http://www.valkenswaard.nl/verkiezingen</td>\n",
" <td>NaN</td>\n",
" <td>NLODSGM0858stembureaus20220316009</td>\n",
" <td>9a01d765af0a467ea37f08d92db114ba</td>\n",
" <td>POINT (5.45137 51.34955)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>2</td>\n",
2022-04-20 13:03:38 +02:00
" <td>3</td>\n",
" <td>Valkenswaard</td>\n",
" <td>GM0858</td>\n",
" <td>3</td>\n",
" <td>Speeltuin Geenhoven</td>\n",
" <td>bijeenkomstfunctie</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>Valkenswaard</td>\n",
2022-04-20 13:03:38 +02:00
" <td>Valkenswaard</td>\n",
" <td>NaN</td>\n",
" <td>verkiezingen@valkenswaard.nl</td>\n",
" <td>http://www.valkenswaard.nl/verkiezingen</td>\n",
" <td>NaN</td>\n",
" <td>NLODSGM0858stembureaus20220316009</td>\n",
" <td>fc5869d33fbc4b06be659149fa615f4c</td>\n",
" <td>POINT (5.44827 51.35702)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>3</td>\n",
2022-04-20 13:03:38 +02:00
" <td>4</td>\n",
" <td>Valkenswaard</td>\n",
" <td>GM0858</td>\n",
" <td>4</td>\n",
" <td>Ontmoetingscentrum De zoete inval</td>\n",
" <td>bijeenkomstfunctie</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>Valkenswaard</td>\n",
2022-04-20 13:03:38 +02:00
" <td>Valkenswaard</td>\n",
" <td>NaN</td>\n",
" <td>verkiezingen@valkenswaard.nl</td>\n",
" <td>http://www.valkenswaard.nl/verkiezingen</td>\n",
" <td>NaN</td>\n",
" <td>NLODSGM0858stembureaus20220316009</td>\n",
" <td>4427cc0b39e040ba8f75c333f19d66f0</td>\n",
" <td>POINT (5.44871 51.36022)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>4</td>\n",
2022-04-20 13:03:38 +02:00
" <td>5</td>\n",
" <td>Valkenswaard</td>\n",
" <td>GM0858</td>\n",
" <td>5</td>\n",
" <td>Gymnastiekzaal 't Gegraaf</td>\n",
" <td>sportfunctie</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>Valkenswaard</td>\n",
2022-04-20 13:03:38 +02:00
" <td>Valkenswaard</td>\n",
" <td>NaN</td>\n",
" <td>verkiezingen@valkenswaard.nl</td>\n",
" <td>http://www.valkenswaard.nl/verkiezingen</td>\n",
" <td>NaN</td>\n",
" <td>NLODSGM0858stembureaus20220316009</td>\n",
" <td>a893bb9add324ce29769f1c39afcc48d</td>\n",
" <td>POINT (5.45331 51.36514)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
2022-05-03 13:06:50 +02:00
" <th>9270</th>\n",
" <td>9270</td>\n",
2022-05-03 13:06:50 +02:00
" <td>38745</td>\n",
" <td>Gennep</td>\n",
" <td>GM0907</td>\n",
" <td>4</td>\n",
" <td>Het Hökske</td>\n",
2022-04-20 13:03:38 +02:00
" <td>bijeenkomstfunctie</td>\n",
2022-05-03 13:06:50 +02:00
" <td>NaN</td>\n",
2022-04-20 13:03:38 +02:00
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>Gennep</td>\n",
2022-05-03 13:06:50 +02:00
" <td>Gennep</td>\n",
2022-04-26 14:07:35 +02:00
" <td>ja</td>\n",
2022-05-03 13:06:50 +02:00
" <td>Klantcontactcentrum gemeente Gennep gemeente@g...</td>\n",
" <td>https://www.gennep.nl</td>\n",
2022-04-20 13:03:38 +02:00
" <td>NaN</td>\n",
2022-05-03 13:06:50 +02:00
" <td>NLODSGM0907stembureaus20220316009</td>\n",
" <td>f744546cd6894e5e9a4db4bbfd81b4ee</td>\n",
" <td>POINT (5.98266 51.69726)</td>\n",
2022-04-20 13:03:38 +02:00
" </tr>\n",
" <tr>\n",
2022-05-03 13:06:50 +02:00
" <th>9271</th>\n",
" <td>9271</td>\n",
2022-05-03 13:06:50 +02:00
" <td>38746</td>\n",
" <td>Gennep</td>\n",
" <td>GM0907</td>\n",
" <td>5</td>\n",
" <td>Buurthuis VanOns</td>\n",
" <td>bijeenkomstfunctie</td>\n",
" <td>NaN</td>\n",
2022-04-20 13:03:38 +02:00
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>Gennep</td>\n",
2022-05-03 13:06:50 +02:00
" <td>Gennep</td>\n",
2022-04-20 13:03:38 +02:00
" <td>ja</td>\n",
2022-05-03 13:06:50 +02:00
" <td>Klantcontactcentrum gemeente Gennep gemeente@g...</td>\n",
" <td>https://www.gennep.nl</td>\n",
2022-04-20 13:03:38 +02:00
" <td>NaN</td>\n",
2022-05-03 13:06:50 +02:00
" <td>NLODSGM0907stembureaus20220316009</td>\n",
" <td>1270081b1dc74cd7bea0f45973650408</td>\n",
" <td>POINT (5.98127 51.69000)</td>\n",
2022-04-20 13:03:38 +02:00
" </tr>\n",
" <tr>\n",
2022-05-03 13:06:50 +02:00
" <th>9272</th>\n",
" <td>9272</td>\n",
2022-05-03 13:06:50 +02:00
" <td>38747</td>\n",
" <td>Gennep</td>\n",
" <td>GM0907</td>\n",
" <td>6</td>\n",
" <td>'t Trefpunt</td>\n",
" <td>bijeenkomstfunctie</td>\n",
" <td>NaN</td>\n",
2022-04-20 13:03:38 +02:00
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>Gennep</td>\n",
2022-05-03 13:06:50 +02:00
" <td>Gennep</td>\n",
2022-04-20 13:03:38 +02:00
" <td>ja</td>\n",
2022-05-03 13:06:50 +02:00
" <td>Klantcontactcentrum gemeente Gennep gemeente@g...</td>\n",
" <td>https://www.gennep.nl</td>\n",
2022-04-20 13:03:38 +02:00
" <td>NaN</td>\n",
2022-05-03 13:06:50 +02:00
" <td>NLODSGM0907stembureaus20220316009</td>\n",
" <td>447c7742604345139e41def4cf1e4d3c</td>\n",
" <td>POINT (5.95118 51.72591)</td>\n",
2022-04-20 13:03:38 +02:00
" </tr>\n",
" <tr>\n",
2022-05-03 13:06:50 +02:00
" <th>9273</th>\n",
" <td>9273</td>\n",
2022-05-03 13:06:50 +02:00
" <td>38748</td>\n",
" <td>Gennep</td>\n",
" <td>GM0907</td>\n",
" <td>8</td>\n",
" <td>De Uitkomst</td>\n",
" <td>bijeenkomstfunctie</td>\n",
" <td>NaN</td>\n",
2022-04-20 13:03:38 +02:00
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>Gennep</td>\n",
2022-05-03 13:06:50 +02:00
" <td>Gennep</td>\n",
2022-04-26 14:07:35 +02:00
" <td>ja</td>\n",
2022-05-03 13:06:50 +02:00
" <td>Klantcontactcentrum gemeente Gennep gemeente@g...</td>\n",
" <td>https://www.gennep.nl</td>\n",
2022-04-20 13:03:38 +02:00
" <td>NaN</td>\n",
2022-05-03 13:06:50 +02:00
" <td>NLODSGM0907stembureaus20220316009</td>\n",
" <td>049cfd258c174bc49abf17883396d083</td>\n",
" <td>POINT (6.01556 51.70976)</td>\n",
2022-04-20 13:03:38 +02:00
" </tr>\n",
" <tr>\n",
2022-05-03 13:06:50 +02:00
" <th>9274</th>\n",
" <td>9274</td>\n",
2022-05-03 13:06:50 +02:00
" <td>38749</td>\n",
" <td>Gennep</td>\n",
" <td>GM0907</td>\n",
" <td>1</td>\n",
" <td>Zaal Buurman</td>\n",
" <td>woonfunctie,bijeenkomstfunctie</td>\n",
" <td>NaN</td>\n",
2022-04-20 13:03:38 +02:00
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>Gennep</td>\n",
2022-05-03 13:06:50 +02:00
" <td>Gennep</td>\n",
2022-04-20 13:03:38 +02:00
" <td>NaN</td>\n",
2022-05-03 13:06:50 +02:00
" <td>Klantcontactcentrum gemeente Gennep gemeente@g...</td>\n",
" <td>https://www.gennep.nl</td>\n",
" <td>NaN</td>\n",
" <td>NLODSGM0907stembureaus20220316009</td>\n",
" <td>1e8cbe96e72c4c6ba6303f47bec8cdb5</td>\n",
" <td>POINT (5.98514 51.70189)</td>\n",
2022-04-20 13:03:38 +02:00
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>8582 rows × 41 columns</p>\n",
2022-04-20 13:03:38 +02:00
"</div>"
],
"text/plain": [
" Unnamed: 0 _id Gemeente CBS gemeentecode Nummer stembureau \\\n",
"0 0 1 Valkenswaard GM0858 1 \n",
"1 1 2 Valkenswaard GM0858 2 \n",
"2 2 3 Valkenswaard GM0858 3 \n",
"3 3 4 Valkenswaard GM0858 4 \n",
"4 4 5 Valkenswaard GM0858 5 \n",
"... ... ... ... ... ... \n",
"9270 9270 38745 Gennep GM0907 4 \n",
"9271 9271 38746 Gennep GM0907 5 \n",
"9272 9272 38747 Gennep GM0907 6 \n",
"9273 9273 38748 Gennep GM0907 8 \n",
"9274 9274 38749 Gennep GM0907 1 \n",
2022-04-20 13:03:38 +02:00
"\n",
2022-05-03 13:06:50 +02:00
" Naam stembureau Gebruiksdoel van het gebouw \\\n",
"0 Zorgcentrum Kempenhof gezondheidszorgfunctie \n",
"1 Buurtgebouw De Horizon bijeenkomstfunctie \n",
"2 Speeltuin Geenhoven bijeenkomstfunctie \n",
"3 Ontmoetingscentrum De zoete inval bijeenkomstfunctie \n",
"4 Gymnastiekzaal 't Gegraaf sportfunctie \n",
"... ... ... \n",
"9270 Het Hökske bijeenkomstfunctie \n",
"9271 Buurthuis VanOns bijeenkomstfunctie \n",
"9272 't Trefpunt bijeenkomstfunctie \n",
"9273 De Uitkomst bijeenkomstfunctie \n",
"9274 Zaal Buurman woonfunctie,bijeenkomstfunctie \n",
2022-04-20 13:03:38 +02:00
"\n",
" Website locatie Wijknaam CBS wijknummer ... \\\n",
"0 https://www.valkenhof.nl/ NaN NaN ... \n",
"1 NaN NaN NaN ... \n",
"2 NaN NaN NaN ... \n",
"3 NaN NaN NaN ... \n",
"4 NaN NaN NaN ... \n",
"... ... ... ... ... \n",
"9270 NaN NaN NaN ... \n",
"9271 NaN NaN NaN ... \n",
"9272 NaN NaN NaN ... \n",
"9273 NaN NaN NaN ... \n",
"9274 NaN NaN NaN ... \n",
2022-04-20 13:03:38 +02:00
"\n",
" Gehandicaptentoilet Kieskring ID Hoofdstembureau Tellocatie \\\n",
"0 ja Valkenswaard Valkenswaard NaN \n",
"1 NaN Valkenswaard Valkenswaard NaN \n",
"2 NaN Valkenswaard Valkenswaard NaN \n",
"3 NaN Valkenswaard Valkenswaard NaN \n",
"4 NaN Valkenswaard Valkenswaard NaN \n",
"... ... ... ... ... \n",
"9270 NaN Gennep Gennep ja \n",
"9271 NaN Gennep Gennep ja \n",
"9272 NaN Gennep Gennep ja \n",
"9273 NaN Gennep Gennep ja \n",
"9274 NaN Gennep Gennep NaN \n",
2022-04-20 13:03:38 +02:00
"\n",
2022-05-03 13:06:50 +02:00
" Contactgegevens gemeente \\\n",
"0 verkiezingen@valkenswaard.nl \n",
"1 verkiezingen@valkenswaard.nl \n",
"2 verkiezingen@valkenswaard.nl \n",
"3 verkiezingen@valkenswaard.nl \n",
"4 verkiezingen@valkenswaard.nl \n",
"... ... \n",
"9270 Klantcontactcentrum gemeente Gennep gemeente@g... \n",
"9271 Klantcontactcentrum gemeente Gennep gemeente@g... \n",
"9272 Klantcontactcentrum gemeente Gennep gemeente@g... \n",
"9273 Klantcontactcentrum gemeente Gennep gemeente@g... \n",
"9274 Klantcontactcentrum gemeente Gennep gemeente@g... \n",
2022-04-20 13:03:38 +02:00
"\n",
2022-04-26 14:07:35 +02:00
" Verkiezingswebsite gemeente Verkiezingen \\\n",
"0 http://www.valkenswaard.nl/verkiezingen NaN \n",
"1 http://www.valkenswaard.nl/verkiezingen NaN \n",
"2 http://www.valkenswaard.nl/verkiezingen NaN \n",
"3 http://www.valkenswaard.nl/verkiezingen NaN \n",
"4 http://www.valkenswaard.nl/verkiezingen NaN \n",
"... ... ... \n",
2022-05-03 13:06:50 +02:00
"9270 https://www.gennep.nl NaN \n",
"9271 https://www.gennep.nl NaN \n",
"9272 https://www.gennep.nl NaN \n",
"9273 https://www.gennep.nl NaN \n",
"9274 https://www.gennep.nl NaN \n",
2022-04-20 13:03:38 +02:00
"\n",
2022-04-26 14:07:35 +02:00
" ID UUID \\\n",
"0 NLODSGM0858stembureaus20220316009 3a612b2151fa4ab491b9e331355e6258 \n",
"1 NLODSGM0858stembureaus20220316009 9a01d765af0a467ea37f08d92db114ba \n",
"2 NLODSGM0858stembureaus20220316009 fc5869d33fbc4b06be659149fa615f4c \n",
"3 NLODSGM0858stembureaus20220316009 4427cc0b39e040ba8f75c333f19d66f0 \n",
"4 NLODSGM0858stembureaus20220316009 a893bb9add324ce29769f1c39afcc48d \n",
"... ... ... \n",
2022-05-03 13:06:50 +02:00
"9270 NLODSGM0907stembureaus20220316009 f744546cd6894e5e9a4db4bbfd81b4ee \n",
"9271 NLODSGM0907stembureaus20220316009 1270081b1dc74cd7bea0f45973650408 \n",
"9272 NLODSGM0907stembureaus20220316009 447c7742604345139e41def4cf1e4d3c \n",
"9273 NLODSGM0907stembureaus20220316009 049cfd258c174bc49abf17883396d083 \n",
"9274 NLODSGM0907stembureaus20220316009 1e8cbe96e72c4c6ba6303f47bec8cdb5 \n",
2022-04-20 13:03:38 +02:00
"\n",
" geometry \n",
"0 POINT (5.45515 51.34711) \n",
"1 POINT (5.45137 51.34955) \n",
"2 POINT (5.44827 51.35702) \n",
"3 POINT (5.44871 51.36022) \n",
"4 POINT (5.45331 51.36514) \n",
"... ... \n",
"9270 POINT (5.98266 51.69726) \n",
"9271 POINT (5.98127 51.69000) \n",
"9272 POINT (5.95118 51.72591) \n",
"9273 POINT (6.01556 51.70976) \n",
"9274 POINT (5.98514 51.70189) \n",
2022-04-20 13:03:38 +02:00
"\n",
"[8582 rows x 41 columns]"
2022-04-20 13:03:38 +02:00
]
},
"execution_count": 175,
2022-04-20 13:03:38 +02:00
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
2022-05-06 14:51:01 +02:00
"# We only want to analyse stemlokalen so deduplicate the stembureaus based on their location's coordinates\n",
"gdf_wims_dedupe = gdf_wims.drop_duplicates(subset=\"geometry\", keep='first')\n",
"df_geojson_dedupe = df_geojson_clean.drop_duplicates(subset=\"geometry\", keep='first')\n",
2022-05-03 13:06:50 +02:00
"gdf_wims_dedupe"
2022-04-20 13:03:38 +02:00
]
},
2022-05-06 14:51:01 +02:00
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Voor dit onderzoek zijn we enkel geïnteresseerd in de locaties van stembureaus, oftewel de stemlokalen. Hierboven hebben we de stembureaus uit de wims dataset gededupliceerd op basis van de coördinaten van hun locatie.\n",
"\n",
"Het aantal stembureaus: 9275\n",
"\n",
2022-06-10 14:00:12 +02:00
"Het aantal stemlokalen: 8582\n",
2022-05-06 14:51:01 +02:00
"\n",
2022-06-10 14:00:12 +02:00
"Er zijn dus 693 stembureaus gevestigd op een locatie van minimaal één ander stembureau."
2022-05-06 14:51:01 +02:00
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Plots van alle stemlokalen op de kaart\n",
"### Stemlokalen uit de wims dataset"
]
},
2022-04-20 13:03:38 +02:00
{
"cell_type": "code",
"execution_count": 176,
2022-04-20 13:03:38 +02:00
"metadata": {},
"outputs": [
2022-05-03 13:06:50 +02:00
{
"data": {
"text/plain": [
"<AxesSubplot:>"
]
},
"execution_count": 176,
"metadata": {},
"output_type": "execute_result"
2022-05-03 13:06:50 +02:00
},
{
"data": {
2022-07-11 16:29:43 +02:00
"image/png": "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
2022-05-03 13:06:50 +02:00
"text/plain": [
"<Figure size 1080x1080 with 1 Axes>"
2022-05-03 13:06:50 +02:00
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"fig, ax = plt.subplots(figsize = (15,15))\n",
"nl_map.to_crs(epsg=4326).plot(ax=ax, color='lightgrey')\n",
"gdf_wims_dedupe.plot(ax=ax)"
]
},
2022-05-06 14:51:01 +02:00
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Stemlokalen uit de OSF/VK GeoJSON dataset"
]
},
2022-05-03 13:06:50 +02:00
{
"cell_type": "code",
"execution_count": 177,
2022-05-03 13:06:50 +02:00
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<AxesSubplot:>"
]
},
"execution_count": 177,
2022-05-03 13:06:50 +02:00
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
2022-07-11 16:29:43 +02:00
"image/png": "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
2022-05-03 13:06:50 +02:00
"text/plain": [
"<Figure size 1080x1080 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"fig, ax = plt.subplots(figsize = (15,15))\n",
"nl_map.to_crs(epsg=4326).plot(ax=ax, color='lightgrey')\n",
"df_geojson_clean.plot(ax=ax)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
2022-05-06 14:51:01 +02:00
"Nu we een kaart van nederland met de stemlokalen erop hebben, kunnen we als eerste voorbeeld gaan kijken hoe dit zich verhoudt met de bevolkingsdichtheid. De kaart is opgehaald van het CBS, eerst gaan we kijken hoe de kaart er op zichzelf met dezelfde projectie uitziet."
2022-05-03 13:06:50 +02:00
]
},
{
"cell_type": "code",
"execution_count": 178,
2022-05-03 13:06:50 +02:00
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<AxesSubplot:>"
]
},
"execution_count": 178,
2022-05-03 13:06:50 +02:00
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
2022-07-11 16:29:43 +02:00
"image/png": "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
2022-05-03 13:06:50 +02:00
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
2022-05-09 18:30:16 +02:00
"nl_map_cbs = gpd.read_file(r'../data/shape/Netherlands_shapefile/cbs_vk500_2021_v1.gpkg')\n",
2022-05-03 13:06:50 +02:00
"nl_map_cbs.to_crs(epsg=4326).plot()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
2022-05-06 14:51:01 +02:00
"Het verwerken van de 100m bij 100m vierkanten kaart duurde lang (langer dan een half uur) op de laptop, en is dus niet ideaal tenzij we dit niveau van detail écht nodig hebben. Er is namelijk nog een andere kaart met dezelfde gegevens beschikbaar, maar met een grid van 500 bij 500 meter in plaats van 100 bij 100. Laten we dus kijken hoe vaak een stemlokaal dichterbij dan 100 meter van de dichtstbijzijnde andere is. De makkelijkste manier om dat te doen zonder alle punten met alle andere te vergelijken (wat lang duurt), is een extra dataframe maken als een kopie, alle indexen 1 opschuiven (want alle stemlokalen zijn al in een volgorde van clustering), en dan de laagste afstand bekijken."
2022-05-03 13:06:50 +02:00
]
},
{
"cell_type": "code",
"execution_count": 179,
2022-05-03 13:06:50 +02:00
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"11165 0.002608\n",
"1021 0.004853\n",
"3196 0.004875\n",
"1923 2.693202\n",
"3757 3.609362\n",
" ... \n",
"7444 253385.654588\n",
"9711 263408.187856\n",
"4392 266925.200994\n",
"9297 271954.076837\n",
"0 NaN\n",
"Name: distance, Length: 11670, dtype: float64\n"
2022-05-03 13:06:50 +02:00
]
}
],
"source": [
2022-05-06 14:51:01 +02:00
"# Use Rijksdriehoekscoördinaten (EPSG:28992) as this uses meters as unit so we can calculate the distance in meters\n",
2022-05-03 13:06:50 +02:00
"df_shifted = df_geojson_clean.to_crs('EPSG:28992')\n",
"\n",
"df_shifted['geometry (shifted)'] = df_shifted['geometry'].shift(periods=1)\n",
"df_shifted['distance'] = df_shifted['geometry'].distance(df_shifted['geometry (shifted)'])\n",
"df_shifted.sort_values(['distance'], inplace=True, ascending=True)\n",
"zero_mask_booth = df_shifted['distance'] == 0.000000\n",
"df_shifted = df_shifted[~zero_mask_booth]\n",
"print(df_shifted['distance'])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
2022-05-06 14:51:01 +02:00
"Los van bovenstaande resultaten blijkt het dat de 100m kaart niet dezelfde inwonersgegevens heeft als de 500m kaart. Deze hebben we echter nodig voor de analyse, dus we gaan verder met de 500 bij 500 meter kaart. Laten we nu een projectie proberen te maken met de bevolkingsdichtheid erop om het te vergelijken met de stemlokalen en hun posities en clustering."
2022-05-03 13:06:50 +02:00
]
},
{
"cell_type": "code",
2022-05-09 18:30:16 +02:00
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 180,
2022-05-03 13:06:50 +02:00
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
2022-05-09 18:30:16 +02:00
"['crs28992res500m', 'aantal_inwoners', 'aantal_mannen', 'aantal_vrouwen', 'aantal_inwoners_0_tot_15_jaar', 'aantal_inwoners_15_tot_25_jaar', 'aantal_inwoners_25_tot_45_jaar', 'aantal_inwoners_45_tot_65_jaar', 'aantal_inwoners_65_jaar_en_ouder', 'percentage_nederlandse_achtergrond', 'percentage_westerse_migr_achtergr', 'percentage_niet_westerse_migr_achtergr', 'aantal_personen_met_uitkering_onder_aowlft', 'aantal_part_huishoudens', 'aantal_eenpersoonshuishoudens', 'aantal_meerpersoonshuishoudens_zonder_kind', 'aantal_eenouderhuishoudens', 'aantal_tweeouderhuishoudens', 'gemiddelde_huishoudensgrootte', 'aantal_woningen', 'aantal_woningen_bouwjaar_voor_1945', 'aantal_woningen_bouwjaar_45_tot_65', 'aantal_woningen_bouwjaar_65_tot_75', 'aantal_woningen_bouwjaar_75_tot_85', 'aantal_woningen_bouwjaar_85_tot_95', 'aantal_woningen_bouwjaar_95_tot_05', 'aantal_woningen_bouwjaar_05_tot_15', 'aantal_woningen_bouwjaar_15_en_later', 'aantal_meergezins_woningen', 'percentage_koopwoningen', 'percentage_huurwoningen', 'aantal_huurwoningen_in_bezit_woningcorporaties', 'aantal_niet_bewoonde_woningen', 'gemiddelde_woz_waarde_woning', 'omgevingsadressendichtheid', 'stedelijkheid', 'geometry']\n"
2022-05-03 13:06:50 +02:00
]
},
2022-04-20 13:03:38 +02:00
{
"data": {
2022-04-26 14:07:35 +02:00
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
2022-05-09 18:30:16 +02:00
" <th>crs28992res500m</th>\n",
" <th>aantal_inwoners</th>\n",
" <th>stedelijkheid</th>\n",
2022-04-26 14:07:35 +02:00
" <th>geometry</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>E2260N6190</td>\n",
" <td>-99997</td>\n",
2022-05-09 18:30:16 +02:00
" <td>-99997</td>\n",
" <td>MULTIPOLYGON (((226000.000 619000.000, 226000....</td>\n",
2022-04-26 14:07:35 +02:00
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>E2265N6190</td>\n",
" <td>-99997</td>\n",
2022-05-09 18:30:16 +02:00
" <td>-99997</td>\n",
" <td>MULTIPOLYGON (((226500.000 619500.000, 227000....</td>\n",
2022-04-26 14:07:35 +02:00
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>E2270N6190</td>\n",
" <td>-99997</td>\n",
2022-05-09 18:30:16 +02:00
" <td>-99997</td>\n",
" <td>MULTIPOLYGON (((227000.000 619500.000, 227500....</td>\n",
2022-04-26 14:07:35 +02:00
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>E2275N6190</td>\n",
" <td>-99997</td>\n",
2022-05-09 18:30:16 +02:00
" <td>-99997</td>\n",
" <td>MULTIPOLYGON (((227500.000 619500.000, 228000....</td>\n",
2022-04-26 14:07:35 +02:00
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>E2280N6190</td>\n",
" <td>-99997</td>\n",
2022-05-09 18:30:16 +02:00
" <td>-99997</td>\n",
" <td>MULTIPOLYGON (((228000.000 619500.000, 228500....</td>\n",
2022-04-26 14:07:35 +02:00
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
2022-05-09 18:30:16 +02:00
" <td>...</td>\n",
2022-04-26 14:07:35 +02:00
" </tr>\n",
" <tr>\n",
" <th>151103</th>\n",
" <td>E1995N3070</td>\n",
" <td>-99997</td>\n",
2022-05-09 18:30:16 +02:00
" <td>5</td>\n",
" <td>MULTIPOLYGON (((199500.000 307500.000, 200000....</td>\n",
2022-04-26 14:07:35 +02:00
" </tr>\n",
" <tr>\n",
" <th>151104</th>\n",
" <td>E1905N3065</td>\n",
" <td>-99997</td>\n",
2022-05-09 18:30:16 +02:00
" <td>-99997</td>\n",
" <td>MULTIPOLYGON (((190500.000 307000.000, 191000....</td>\n",
2022-04-26 14:07:35 +02:00
" </tr>\n",
" <tr>\n",
" <th>151105</th>\n",
" <td>E1910N3065</td>\n",
" <td>-99997</td>\n",
2022-05-09 18:30:16 +02:00
" <td>-99997</td>\n",
" <td>MULTIPOLYGON (((191000.000 307000.000, 191500....</td>\n",
2022-04-26 14:07:35 +02:00
" </tr>\n",
" <tr>\n",
" <th>151106</th>\n",
" <td>E1920N3065</td>\n",
2022-05-09 18:30:16 +02:00
" <td>15</td>\n",
" <td>5</td>\n",
" <td>MULTIPOLYGON (((192000.000 307000.000, 192500....</td>\n",
2022-04-26 14:07:35 +02:00
" </tr>\n",
" <tr>\n",
" <th>151107</th>\n",
" <td>E1925N3065</td>\n",
" <td>-99997</td>\n",
2022-05-09 18:30:16 +02:00
" <td>5</td>\n",
" <td>MULTIPOLYGON (((192500.000 307000.000, 193000....</td>\n",
2022-04-26 14:07:35 +02:00
" </tr>\n",
" </tbody>\n",
"</table>\n",
2022-05-09 18:30:16 +02:00
"<p>151108 rows × 4 columns</p>\n",
2022-04-26 14:07:35 +02:00
"</div>"
],
"text/plain": [
2022-05-09 18:30:16 +02:00
" crs28992res500m aantal_inwoners stedelijkheid \\\n",
"0 E2260N6190 -99997 -99997 \n",
"1 E2265N6190 -99997 -99997 \n",
"2 E2270N6190 -99997 -99997 \n",
"3 E2275N6190 -99997 -99997 \n",
"4 E2280N6190 -99997 -99997 \n",
"... ... ... ... \n",
"151103 E1995N3070 -99997 5 \n",
"151104 E1905N3065 -99997 -99997 \n",
"151105 E1910N3065 -99997 -99997 \n",
"151106 E1920N3065 15 5 \n",
"151107 E1925N3065 -99997 5 \n",
2022-04-26 14:07:35 +02:00
"\n",
2022-05-09 18:30:16 +02:00
" geometry \n",
"0 MULTIPOLYGON (((226000.000 619000.000, 226000.... \n",
"1 MULTIPOLYGON (((226500.000 619500.000, 227000.... \n",
"2 MULTIPOLYGON (((227000.000 619500.000, 227500.... \n",
"3 MULTIPOLYGON (((227500.000 619500.000, 228000.... \n",
"4 MULTIPOLYGON (((228000.000 619500.000, 228500.... \n",
"... ... \n",
"151103 MULTIPOLYGON (((199500.000 307500.000, 200000.... \n",
"151104 MULTIPOLYGON (((190500.000 307000.000, 191000.... \n",
"151105 MULTIPOLYGON (((191000.000 307000.000, 191500.... \n",
"151106 MULTIPOLYGON (((192000.000 307000.000, 192500.... \n",
"151107 MULTIPOLYGON (((192500.000 307000.000, 193000.... \n",
"\n",
"[151108 rows x 4 columns]"
2022-04-26 14:07:35 +02:00
]
},
"execution_count": 180,
2022-04-26 14:07:35 +02:00
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"print(list(nl_map_cbs))\n",
2022-05-09 18:30:16 +02:00
"nl_map_dst = nl_map_cbs.drop(columns=['aantal_mannen', 'aantal_vrouwen', 'aantal_inwoners_0_tot_15_jaar', 'aantal_inwoners_15_tot_25_jaar', 'aantal_inwoners_25_tot_45_jaar', 'aantal_inwoners_45_tot_65_jaar', 'aantal_inwoners_65_jaar_en_ouder', 'percentage_nederlandse_achtergrond', 'percentage_westerse_migr_achtergr', 'percentage_niet_westerse_migr_achtergr', 'aantal_personen_met_uitkering_onder_aowlft', 'aantal_part_huishoudens', 'aantal_eenpersoonshuishoudens', 'aantal_meerpersoonshuishoudens_zonder_kind', 'aantal_eenouderhuishoudens', 'aantal_tweeouderhuishoudens', 'gemiddelde_huishoudensgrootte', 'aantal_woningen', 'aantal_woningen_bouwjaar_voor_1945', 'aantal_woningen_bouwjaar_45_tot_65', 'aantal_woningen_bouwjaar_65_tot_75', 'aantal_woningen_bouwjaar_75_tot_85', 'aantal_woningen_bouwjaar_85_tot_95', 'aantal_woningen_bouwjaar_95_tot_05', 'aantal_woningen_bouwjaar_05_tot_15', 'aantal_woningen_bouwjaar_15_en_later', 'aantal_meergezins_woningen', 'percentage_koopwoningen', 'percentage_huurwoningen', 'aantal_huurwoningen_in_bezit_woningcorporaties', 'aantal_niet_bewoonde_woningen', 'gemiddelde_woz_waarde_woning', 'omgevingsadressendichtheid'])\n",
2022-04-26 14:07:35 +02:00
"\n",
"nl_map_dst"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We kunnen zien dat er gemeente zijn die geen stemlokalen hebben, dit klopt. [In de verkiezingen van 2022 hebben 12 gemeentes niet meegedaan](https://nl.wikipedia.org/wiki/Nederlandse_gemeenteraadsverkiezingen_2022). Er zijn dus in totaal 333 gemeentes met stemlokalen. We willen de bevolkingsdichtheiddata van de gemeentes die niet meededen dus weggooien, hiervoor moeten we eerst kijken welke alleen binnen de gemeentes vallen die we niet willen houden."
]
},
{
"cell_type": "code",
"execution_count": 181,
2022-04-26 14:07:35 +02:00
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0 Gemeenteraad Aa en Hunze 2022\n",
"1 Gemeenteraad Aa en Hunze 2022\n",
"2 Gemeenteraad Aa en Hunze 2022\n",
"3 Gemeenteraad Aa en Hunze 2022\n",
"4 Gemeenteraad Aa en Hunze 2022\n",
" ... \n",
"12591 Gemeenteraad 's-Hertogenbosch 2022\n",
"12592 Gemeenteraad 's-Hertogenbosch 2022\n",
"12593 Gemeenteraad 's-Hertogenbosch 2022\n",
"12594 Gemeenteraad 's-Hertogenbosch 2022\n",
"12595 Gemeenteraad 's-Hertogenbosch 2022\n",
"Name: electionName, Length: 12596, dtype: object\n",
"0 Aa en Hunze\n",
"27 Aalsmeer\n",
"46 Aalten\n",
"74 Achtkarspelen\n",
"95 Alblasserdam\n",
" ... \n",
"11976 Zwartewaterland\n",
"11997 Zwijndrecht\n",
"12031 Zwolle\n",
"12122 's-Gravenhage\n",
"12495 's-Hertogenbosch\n",
"Name: electionName, Length: 333, dtype: object\n"
]
}
],
"source": [
"print(df_geojson['electionName'])\n",
"\n",
"#get all municipalities that are in the election\n",
"gemeentes = df_geojson['electionName'].str.slice(13, -5).drop_duplicates()\n",
"print(gemeentes)"
]
},
{
"cell_type": "code",
"execution_count": 182,
2022-04-26 14:07:35 +02:00
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Shape of clean: (333, 38)\n",
"Shape of election: (330, 38)\n"
]
},
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>GM_CODE</th>\n",
" <th>GM_NAAM</th>\n",
" <th>H2O</th>\n",
" <th>OAD</th>\n",
" <th>STED</th>\n",
" <th>BEV_DICHTH</th>\n",
" <th>AANT_INW</th>\n",
" <th>AANT_MAN</th>\n",
" <th>AANT_VROUW</th>\n",
" <th>P_00_14_JR</th>\n",
" <th>...</th>\n",
" <th>P_TURKIJE</th>\n",
" <th>P_OVER_NW</th>\n",
" <th>OPP_TOT</th>\n",
" <th>OPP_LAND</th>\n",
" <th>OPP_WATER</th>\n",
" <th>JRSTATCODE</th>\n",
" <th>JAAR</th>\n",
" <th>Shape_Leng</th>\n",
" <th>Shape_Area</th>\n",
" <th>geometry</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>113</th>\n",
" <td>GM0164</td>\n",
" <td>Hengelo</td>\n",
" <td>NEE</td>\n",
" <td>1845</td>\n",
" <td>2</td>\n",
" <td>1332</td>\n",
" <td>81049</td>\n",
" <td>40776</td>\n",
" <td>40273</td>\n",
" <td>15</td>\n",
" <td>...</td>\n",
" <td>6</td>\n",
" <td>7</td>\n",
" <td>6183</td>\n",
" <td>6084</td>\n",
" <td>99</td>\n",
" <td>2021GM0164</td>\n",
" <td>2021</td>\n",
" <td>47510.255914</td>\n",
" <td>6.183056e+07</td>\n",
" <td>POLYGON ((251978.591 481220.258, 251979.382 48...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>191</th>\n",
" <td>GM0373</td>\n",
" <td>Bergen (NH.)</td>\n",
" <td>NEE</td>\n",
" <td>819</td>\n",
" <td>4</td>\n",
" <td>300</td>\n",
" <td>29715</td>\n",
" <td>14317</td>\n",
" <td>15398</td>\n",
" <td>12</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>3</td>\n",
" <td>12023</td>\n",
" <td>9896</td>\n",
" <td>2127</td>\n",
" <td>2021GM0373</td>\n",
" <td>2021</td>\n",
" <td>57488.474563</td>\n",
" <td>9.987418e+07</td>\n",
" <td>POLYGON ((105976.650 529056.951, 106002.347 52...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>328</th>\n",
" <td>GM0893</td>\n",
" <td>Bergen (L.)</td>\n",
" <td>NEE</td>\n",
" <td>318</td>\n",
" <td>5</td>\n",
" <td>127</td>\n",
" <td>13108</td>\n",
" <td>6568</td>\n",
" <td>6540</td>\n",
" <td>13</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>3</td>\n",
" <td>10850</td>\n",
" <td>10324</td>\n",
" <td>525</td>\n",
" <td>2021GM0893</td>\n",
" <td>2021</td>\n",
" <td>61497.563571</td>\n",
" <td>1.084951e+08</td>\n",
" <td>POLYGON ((199768.270 409749.960, 199758.060 40...</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>3 rows × 38 columns</p>\n",
"</div>"
],
"text/plain": [
" GM_CODE GM_NAAM H2O OAD STED BEV_DICHTH AANT_INW AANT_MAN \\\n",
"113 GM0164 Hengelo NEE 1845 2 1332 81049 40776 \n",
"191 GM0373 Bergen (NH.) NEE 819 4 300 29715 14317 \n",
"328 GM0893 Bergen (L.) NEE 318 5 127 13108 6568 \n",
"\n",
" AANT_VROUW P_00_14_JR ... P_TURKIJE P_OVER_NW OPP_TOT OPP_LAND \\\n",
"113 40273 15 ... 6 7 6183 6084 \n",
"191 15398 12 ... 0 3 12023 9896 \n",
"328 6540 13 ... 0 3 10850 10324 \n",
"\n",
" OPP_WATER JRSTATCODE JAAR Shape_Leng Shape_Area \\\n",
"113 99 2021GM0164 2021 47510.255914 6.183056e+07 \n",
"191 2127 2021GM0373 2021 57488.474563 9.987418e+07 \n",
"328 525 2021GM0893 2021 61497.563571 1.084951e+08 \n",
"\n",
" geometry \n",
"113 POLYGON ((251978.591 481220.258, 251979.382 48... \n",
"191 POLYGON ((105976.650 529056.951, 106002.347 52... \n",
"328 POLYGON ((199768.270 409749.960, 199758.060 40... \n",
"\n",
"[3 rows x 38 columns]"
]
},
"execution_count": 182,
2022-04-26 14:07:35 +02:00
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#First let's remove the municipalities that don't have an Election from the municipality map\n",
"remove_lst = [\"Boxtel\", \"Eemsdelta\", \"Oisterwijk\", \"Vught\", \"Heerhugowaard\", \"Langedijk\", \"Boxmeer\", \"Cuijk\", \"Sint Anthonis\", \"Mill en Sint Hubert\", \"Grave\", \"Landerd\", \"Uden\", \"Brielle\", \"Hellevoetsluis\", \"Westvoorne\", \"Purmerend\", \"Beemster\", \"Weesp\"]\n",
"\n",
"\n",
"nl_map_clean = nl_map[~nl_map[\"GM_NAAM\"].isin(remove_lst)]\n",
"nl_map_clean = nl_map_clean.query(\"H2O != 'JA'\")\n",
"nl_map_clean = nl_map_clean.query(\"GM_NAAM != 'Buitenland'\")\n",
"\n",
"\n",
"nl_map_election = nl_map[nl_map[\"GM_NAAM\"].isin(gemeentes)]\n",
"nl_map_election = nl_map_election.query(\"H2O != 'JA'\")\n",
"\n",
"print(\"Shape of clean: {}\".format(nl_map_clean.shape))\n",
"print(\"Shape of election: {}\".format(nl_map_election.shape))\n",
"\n",
"diff = pd.concat([nl_map_election, nl_map_clean]).drop_duplicates(keep=False)\n",
"diff"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Het is een andere vorm omdat deze drie gemeentes een andere format hadden voor de naam van hun verkiezingen, en dus niet op dezelfde manier gefilterd konden worden, ze staan wel in de lijst, dit is dus correct, we gebruiken de clean dataframe.\n",
"Nu we dezelfde lijst hebben van gemeentes die in de verkiezingen meededen kunnen we verder."
]
},
{
"cell_type": "code",
"execution_count": 183,
2022-04-26 14:07:35 +02:00
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<AxesSubplot:>"
]
},
"execution_count": 183,
2022-04-26 14:07:35 +02:00
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
2022-07-11 16:29:43 +02:00
"image/png": "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
2022-04-26 14:07:35 +02:00
"text/plain": [
"<Figure size 1080x1080 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"fig, ax = plt.subplots(figsize = (15,15))\n",
"nl_map_clean.to_crs(epsg=4326).plot(ax=ax, color='lightgrey')\n",
"df_geojson_clean.plot(ax=ax)"
]
},
{
"cell_type": "code",
"execution_count": 184,
2022-04-26 14:07:35 +02:00
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<AxesSubplot:>"
]
},
"execution_count": 184,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
2022-07-11 16:29:43 +02:00
"image/png": "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
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
2022-04-14 15:43:51 +02:00
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# This section filters all 500m2 squares (nl_map_dst) down to only those squares that fall within the land area of\n",
"# the participating municipalities (nl_map_clean).\n",
2022-04-26 14:07:35 +02:00
"\n",
"# Save the index values as a new column\n",
"nl_map_dst['savedindex'] = nl_map_dst.index\n",
2022-04-26 14:07:35 +02:00
"\n",
"# If a 500m2 square from nl_map_dst is sjoined with nl_map_clean, you end up with mutliple matches for some squares\n",
"# as a square can match with multiple municipalities (i.e. if the border of municipalities runs through a square).\n",
"# When calculating the nearest polling station we only use the centroids of the 500m2 squares, so we use the\n",
"# centroids here as well to filter down all 500m2 squares and add which municipality they belong to.\n",
"nl_map_dst_centroid = nl_map_dst.copy()\n",
"nl_map_dst_centroid['geometry'] = nl_map_dst_centroid['geometry'].centroid\n",
2022-04-26 14:07:35 +02:00
"\n",
"# Find the polygons that intersect. Keep savedindex and GM_CODE (we need this later) as a series.\n",
"intersecting_centroid = nl_map_dst_centroid.sjoin(nl_map_clean, how='inner')[['savedindex', 'GM_CODE']]\n",
"nl_map_dst = nl_map_dst_centroid.merge(intersecting_centroid, on='savedindex', how='inner')\n",
"\n",
"nl_map_dst.to_crs(epsg=4326).plot()"
]
},
2022-07-11 16:29:43 +02:00
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Heatmap van stemlokalen en bevolkingsdichtheid"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Hier exporteren we een HTML bestand met een kaart waar zowel een choropleth van de bevolkingsdichtheid inzit als een heatmap van het aantal stemlokalen."
]
},
{
"cell_type": "code",
"execution_count": 188,
"metadata": {},
"outputs": [],
2022-04-12 16:39:06 +02:00
"source": [
2022-04-26 14:07:35 +02:00
"import folium\n",
"from folium import plugins\n",
2022-04-12 16:39:06 +02:00
"\n",
2022-04-26 14:07:35 +02:00
"#Location is Amersfoort, the central point of the continental Netherlands\n",
"map = folium.Map(location = [52.155, 5.3875], zoom_start = 9, tiles=\"cartodbdark_matter\", prefer_canvas=True)\n",
"\n",
"nl_map_dst.to_crs(epsg=4326)\n",
"#Make sure the index is a string so folium can read it correctly as a key.\n",
2022-05-09 18:30:16 +02:00
"nl_map_dst['crs28992res500m'] = nl_map_dst['crs28992res500m'].apply(lambda x: str(x))\n",
2022-04-26 14:07:35 +02:00
"\n",
"nl_map_dst_zero = nl_map_dst.copy()\n",
"\n",
2022-05-09 18:30:16 +02:00
"zero_mask_pop = nl_map_dst['aantal_inwoners'] == -99997\n",
2022-04-26 14:07:35 +02:00
"nl_map_dst = nl_map_dst[~zero_mask_pop]\n",
2022-05-09 18:30:16 +02:00
"zero_mask_pop2 = nl_map_dst['aantal_inwoners'] == 0\n",
2022-04-26 14:07:35 +02:00
"nl_map_dst = nl_map_dst[~zero_mask_pop2]\n",
"\n",
"folium.Choropleth(\n",
" geo_data = nl_map_dst,\n",
" name=\"Bevolkingsdichtheid\",\n",
" data = nl_map_dst,\n",
2022-05-09 18:30:16 +02:00
" columns = [\"crs28992res500m\", \"aantal_inwoners\"],\n",
" key_on = 'feature.properties.crs28992res500m',\n",
2022-04-26 14:07:35 +02:00
" fill_color = 'RdPu',\n",
" nan_fill_color= 'white',\n",
" fill_opacity = 0.7,\n",
" nan_fill_opacity = 0.7,\n",
" line_opacity = 0,\n",
" legend_name = 'Bevolkingsdichtheid',\n",
" smooth_factor = 1.0,\n",
" show=False\n",
").add_to(map)\n",
"map\n",
"\n",
"# Renders the map to an HTML file and displays it in an embed.\n",
"def embed_map(m):\n",
" #from IPython.display import IFrame\n",
" m.save('index.html')\n",
" #return IFrame('index.html', width='100%', height='750px')"
2022-04-12 16:39:06 +02:00
]
},
{
2022-04-26 14:07:35 +02:00
"cell_type": "code",
"execution_count": 189,
2022-04-12 16:39:06 +02:00
"metadata": {},
2022-04-26 14:07:35 +02:00
"outputs": [],
2022-04-12 16:39:06 +02:00
"source": [
2022-04-26 14:07:35 +02:00
"gdf_wims_hmp = [[point.xy[1][0], point.xy[0][0]] for point in gdf_wims.geometry]\n",
"\n",
"plugins.HeatMap(gdf_wims_hmp, name=\"Stemlokalen Heatmap\").add_to(map)\n",
"\n",
"folium.LayerControl().add_to(map)\n",
"\n",
"\n",
"\n",
"embed_map(map)\n",
"\n",
"\n"
2022-04-12 16:39:06 +02:00
]
},
2022-07-11 16:29:43 +02:00
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Afstand bepalen tot stemlokalen per bevolkingsvierkant"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Hier gaan we eerst de coördinaten van het midden van alle vierkanten nemen en toevoegen aan de dataset."
]
},
2022-04-12 16:39:06 +02:00
{
"cell_type": "code",
"execution_count": 190,
2022-04-12 16:39:06 +02:00
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
2022-05-09 18:30:16 +02:00
" <th>crs28992res500m</th>\n",
" <th>aantal_inwoners</th>\n",
" <th>stedelijkheid</th>\n",
2022-04-12 16:39:06 +02:00
" <th>geometry</th>\n",
2022-04-26 14:07:35 +02:00
" <th>savedindex</th>\n",
" <th>GM_CODE</th>\n",
2022-04-12 16:39:06 +02:00
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>E2275N6190</td>\n",
2022-04-14 15:43:51 +02:00
" <td>-99997</td>\n",
2022-05-09 18:30:16 +02:00
" <td>-99997</td>\n",
" <td>POINT (227750.000 619250.000)</td>\n",
" <td>3</td>\n",
" <td>GM1966</td>\n",
2022-04-12 16:39:06 +02:00
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>E2270N6185</td>\n",
2022-04-14 15:43:51 +02:00
" <td>-99997</td>\n",
2022-05-09 18:30:16 +02:00
" <td>-99997</td>\n",
" <td>POINT (227250.000 618750.000)</td>\n",
" <td>8</td>\n",
" <td>GM1966</td>\n",
2022-04-12 16:39:06 +02:00
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>E2275N6185</td>\n",
2022-04-14 15:43:51 +02:00
" <td>-99997</td>\n",
2022-05-09 18:30:16 +02:00
" <td>-99997</td>\n",
" <td>POINT (227750.000 618750.000)</td>\n",
" <td>9</td>\n",
" <td>GM1966</td>\n",
2022-04-26 14:07:35 +02:00
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>E2280N6185</td>\n",
2022-04-26 14:07:35 +02:00
" <td>-99997</td>\n",
2022-05-09 18:30:16 +02:00
" <td>-99997</td>\n",
" <td>POINT (228250.000 618750.000)</td>\n",
" <td>10</td>\n",
" <td>GM1966</td>\n",
2022-04-26 14:07:35 +02:00
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>E2265N6180</td>\n",
2022-04-26 14:07:35 +02:00
" <td>-99997</td>\n",
2022-05-09 18:30:16 +02:00
" <td>-99997</td>\n",
" <td>POINT (226750.000 618250.000)</td>\n",
" <td>15</td>\n",
" <td>GM1966</td>\n",
2022-04-12 16:39:06 +02:00
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
2022-04-26 14:07:35 +02:00
" <td>...</td>\n",
2022-05-09 18:30:16 +02:00
" <td>...</td>\n",
" <td>...</td>\n",
2022-04-12 16:39:06 +02:00
" </tr>\n",
" <tr>\n",
" <th>135084</th>\n",
" <td>E1910N3070</td>\n",
2022-04-14 15:43:51 +02:00
" <td>-99997</td>\n",
2022-05-09 18:30:16 +02:00
" <td>-99997</td>\n",
" <td>POINT (191250.000 307250.000)</td>\n",
" <td>151090</td>\n",
" <td>GM1729</td>\n",
2022-04-12 16:39:06 +02:00
" </tr>\n",
" <tr>\n",
" <th>135085</th>\n",
" <td>E1925N3070</td>\n",
2022-04-14 15:43:51 +02:00
" <td>-99997</td>\n",
2022-05-09 18:30:16 +02:00
" <td>5</td>\n",
" <td>POINT (192750.000 307250.000)</td>\n",
" <td>151093</td>\n",
" <td>GM1729</td>\n",
2022-04-12 16:39:06 +02:00
" </tr>\n",
" <tr>\n",
" <th>135086</th>\n",
" <td>E1970N3070</td>\n",
2022-04-14 15:43:51 +02:00
" <td>-99997</td>\n",
2022-05-09 18:30:16 +02:00
" <td>-99997</td>\n",
" <td>POINT (197250.000 307250.000)</td>\n",
" <td>151098</td>\n",
" <td>GM0981</td>\n",
2022-04-12 16:39:06 +02:00
" </tr>\n",
" <tr>\n",
" <th>135087</th>\n",
" <td>E1975N3070</td>\n",
" <td>-99997</td>\n",
" <td>-99997</td>\n",
" <td>POINT (197750.000 307250.000)</td>\n",
" <td>151099</td>\n",
" <td>GM0981</td>\n",
2022-04-12 16:39:06 +02:00
" </tr>\n",
2022-04-14 15:43:51 +02:00
" <tr>\n",
" <th>135088</th>\n",
" <td>E1980N3070</td>\n",
" <td>10</td>\n",
2022-05-09 18:30:16 +02:00
" <td>5</td>\n",
" <td>POINT (198250.000 307250.000)</td>\n",
" <td>151100</td>\n",
" <td>GM0981</td>\n",
2022-04-14 15:43:51 +02:00
" </tr>\n",
2022-04-12 16:39:06 +02:00
" </tbody>\n",
"</table>\n",
"<p>135089 rows × 6 columns</p>\n",
2022-04-12 16:39:06 +02:00
"</div>"
],
"text/plain": [
2022-05-09 18:30:16 +02:00
" crs28992res500m aantal_inwoners stedelijkheid \\\n",
"0 E2275N6190 -99997 -99997 \n",
"1 E2270N6185 -99997 -99997 \n",
"2 E2275N6185 -99997 -99997 \n",
"3 E2280N6185 -99997 -99997 \n",
"4 E2265N6180 -99997 -99997 \n",
2022-05-09 18:30:16 +02:00
"... ... ... ... \n",
"135084 E1910N3070 -99997 -99997 \n",
"135085 E1925N3070 -99997 5 \n",
"135086 E1970N3070 -99997 -99997 \n",
"135087 E1975N3070 -99997 -99997 \n",
"135088 E1980N3070 10 5 \n",
2022-04-12 16:39:06 +02:00
"\n",
" geometry savedindex GM_CODE \n",
"0 POINT (227750.000 619250.000) 3 GM1966 \n",
"1 POINT (227250.000 618750.000) 8 GM1966 \n",
"2 POINT (227750.000 618750.000) 9 GM1966 \n",
"3 POINT (228250.000 618750.000) 10 GM1966 \n",
"4 POINT (226750.000 618250.000) 15 GM1966 \n",
"... ... ... ... \n",
"135084 POINT (191250.000 307250.000) 151090 GM1729 \n",
"135085 POINT (192750.000 307250.000) 151093 GM1729 \n",
"135086 POINT (197250.000 307250.000) 151098 GM0981 \n",
"135087 POINT (197750.000 307250.000) 151099 GM0981 \n",
"135088 POINT (198250.000 307250.000) 151100 GM0981 \n",
2022-05-09 18:30:16 +02:00
"\n",
"[135089 rows x 6 columns]"
2022-04-12 16:39:06 +02:00
]
},
"execution_count": 190,
2022-04-12 16:39:06 +02:00
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
2022-04-26 14:07:35 +02:00
"nl_map_dst_points = nl_map_dst.copy()\n",
"nl_map_dst_points['geometry'] = nl_map_dst_points['geometry'].centroid\n",
"\n",
2022-04-26 14:07:35 +02:00
"nl_map_dst_zero_points = nl_map_dst_zero.copy()\n",
"nl_map_dst_zero_points['geometry'] = nl_map_dst_zero_points['geometry'].centroid\n",
"\n",
"nl_map_dst_zero_points"
]
},
2022-07-11 16:29:43 +02:00
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Nu een methode om de dichtstbijzijnde afstand te pakken naar een stemlokaal."
]
},
{
"cell_type": "code",
"execution_count": 239,
2022-04-26 14:07:35 +02:00
"metadata": {
"scrolled": false
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
2022-05-09 18:30:16 +02:00
" <th>crs28992res500m</th>\n",
" <th>aantal_inwoners</th>\n",
" <th>stedelijkheid</th>\n",
" <th>geometry</th>\n",
2022-04-26 14:07:35 +02:00
" <th>savedindex</th>\n",
" <th>GM_CODE</th>\n",
" <th>Unnamed: 0</th>\n",
2022-04-26 14:07:35 +02:00
" <th>_id</th>\n",
" <th>Gemeente</th>\n",
" <th>CBS gemeentecode</th>\n",
" <th>...</th>\n",
" <th>Gehandicaptentoilet</th>\n",
" <th>Kieskring ID</th>\n",
2022-04-26 14:07:35 +02:00
" <th>Hoofdstembureau</th>\n",
" <th>Tellocatie</th>\n",
" <th>Contactgegevens gemeente</th>\n",
" <th>Verkiezingswebsite gemeente</th>\n",
" <th>Verkiezingen</th>\n",
" <th>ID</th>\n",
" <th>UUID</th>\n",
" <th>dist</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
2022-04-26 14:07:35 +02:00
" <th>0</th>\n",
" <td>E1575N3750</td>\n",
" <td>140</td>\n",
" <td>4</td>\n",
" <td>POINT (157750.000 375250.000)</td>\n",
" <td>139928</td>\n",
" <td>GM0858</td>\n",
" <td>14</td>\n",
" <td>15</td>\n",
" <td>Valkenswaard</td>\n",
" <td>GM0858</td>\n",
2022-04-26 14:07:35 +02:00
" <td>...</td>\n",
" <td>ja</td>\n",
" <td>Valkenswaard</td>\n",
" <td>Valkenswaard</td>\n",
2022-04-26 14:07:35 +02:00
" <td>NaN</td>\n",
" <td>verkiezingen@valkenswaard.nl</td>\n",
" <td>http://www.valkenswaard.nl/verkiezingen</td>\n",
2022-04-26 14:07:35 +02:00
" <td>NaN</td>\n",
" <td>NLODSGM0858stembureaus20220316009</td>\n",
" <td>4e33661ee5464dedb2c3566795e569d2</td>\n",
" <td>241.175850</td>\n",
2022-04-26 14:07:35 +02:00
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>E1580N3750</td>\n",
" <td>215</td>\n",
" <td>4</td>\n",
" <td>POINT (158250.000 375250.000)</td>\n",
" <td>139929</td>\n",
" <td>GM0858</td>\n",
" <td>14</td>\n",
" <td>15</td>\n",
" <td>Valkenswaard</td>\n",
" <td>GM0858</td>\n",
" <td>...</td>\n",
" <td>ja</td>\n",
" <td>Valkenswaard</td>\n",
" <td>Valkenswaard</td>\n",
2022-04-26 14:07:35 +02:00
" <td>NaN</td>\n",
" <td>verkiezingen@valkenswaard.nl</td>\n",
" <td>http://www.valkenswaard.nl/verkiezingen</td>\n",
2022-04-26 14:07:35 +02:00
" <td>NaN</td>\n",
" <td>NLODSGM0858stembureaus20220316009</td>\n",
" <td>4e33661ee5464dedb2c3566795e569d2</td>\n",
" <td>685.771413</td>\n",
" </tr>\n",
" <tr>\n",
2022-04-26 14:07:35 +02:00
" <th>2</th>\n",
" <td>E1590N3750</td>\n",
" <td>195</td>\n",
" <td>4</td>\n",
" <td>POINT (159250.000 375250.000)</td>\n",
" <td>139931</td>\n",
" <td>GM0858</td>\n",
" <td>4</td>\n",
2022-05-09 18:30:16 +02:00
" <td>5</td>\n",
" <td>Valkenswaard</td>\n",
" <td>GM0858</td>\n",
" <td>...</td>\n",
2022-04-26 14:07:35 +02:00
" <td>NaN</td>\n",
" <td>Valkenswaard</td>\n",
" <td>Valkenswaard</td>\n",
" <td>NaN</td>\n",
" <td>verkiezingen@valkenswaard.nl</td>\n",
" <td>http://www.valkenswaard.nl/verkiezingen</td>\n",
2022-04-26 14:07:35 +02:00
" <td>NaN</td>\n",
" <td>NLODSGM0858stembureaus20220316009</td>\n",
" <td>a893bb9add324ce29769f1c39afcc48d</td>\n",
" <td>381.668475</td>\n",
" </tr>\n",
" <tr>\n",
2022-04-26 14:07:35 +02:00
" <th>3</th>\n",
" <td>E1595N3750</td>\n",
2022-05-09 18:30:16 +02:00
" <td>5</td>\n",
" <td>4</td>\n",
" <td>POINT (159750.000 375250.000)</td>\n",
" <td>139932</td>\n",
" <td>GM0858</td>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" <td>Valkenswaard</td>\n",
" <td>GM0858</td>\n",
" <td>...</td>\n",
2022-04-26 14:07:35 +02:00
" <td>NaN</td>\n",
" <td>Valkenswaard</td>\n",
" <td>Valkenswaard</td>\n",
" <td>NaN</td>\n",
" <td>verkiezingen@valkenswaard.nl</td>\n",
" <td>http://www.valkenswaard.nl/verkiezingen</td>\n",
2022-04-26 14:07:35 +02:00
" <td>NaN</td>\n",
" <td>NLODSGM0858stembureaus20220316009</td>\n",
" <td>a893bb9add324ce29769f1c39afcc48d</td>\n",
" <td>204.105919</td>\n",
2022-04-26 14:07:35 +02:00
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>E1600N3750</td>\n",
" <td>15</td>\n",
2022-05-09 18:30:16 +02:00
" <td>5</td>\n",
" <td>POINT (160250.000 375250.000)</td>\n",
" <td>139933</td>\n",
" <td>GM0858</td>\n",
" <td>6</td>\n",
" <td>7</td>\n",
" <td>Valkenswaard</td>\n",
" <td>GM0858</td>\n",
2022-04-26 14:07:35 +02:00
" <td>...</td>\n",
" <td>ja</td>\n",
" <td>Valkenswaard</td>\n",
" <td>Valkenswaard</td>\n",
2022-04-26 14:07:35 +02:00
" <td>NaN</td>\n",
" <td>verkiezingen@valkenswaard.nl</td>\n",
" <td>http://www.valkenswaard.nl/verkiezingen</td>\n",
2022-04-26 14:07:35 +02:00
" <td>NaN</td>\n",
" <td>NLODSGM0858stembureaus20220316009</td>\n",
" <td>87090a1ceeb24ac6ac5c8e98e3017795</td>\n",
" <td>604.118258</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>5 rows × 47 columns</p>\n",
"</div>"
],
"text/plain": [
2022-05-09 18:30:16 +02:00
" crs28992res500m aantal_inwoners stedelijkheid \\\n",
"0 E1575N3750 140 4 \n",
"1 E1580N3750 215 4 \n",
"2 E1590N3750 195 4 \n",
"3 E1595N3750 5 4 \n",
"4 E1600N3750 15 5 \n",
2022-04-26 14:07:35 +02:00
"\n",
" geometry savedindex GM_CODE Unnamed: 0 _id \\\n",
"0 POINT (157750.000 375250.000) 139928 GM0858 14 15 \n",
"1 POINT (158250.000 375250.000) 139929 GM0858 14 15 \n",
"2 POINT (159250.000 375250.000) 139931 GM0858 4 5 \n",
"3 POINT (159750.000 375250.000) 139932 GM0858 4 5 \n",
"4 POINT (160250.000 375250.000) 139933 GM0858 6 7 \n",
2022-04-26 14:07:35 +02:00
"\n",
" Gemeente CBS gemeentecode ... Gehandicaptentoilet Kieskring ID \\\n",
"0 Valkenswaard GM0858 ... ja Valkenswaard \n",
"1 Valkenswaard GM0858 ... ja Valkenswaard \n",
"2 Valkenswaard GM0858 ... NaN Valkenswaard \n",
"3 Valkenswaard GM0858 ... NaN Valkenswaard \n",
"4 Valkenswaard GM0858 ... ja Valkenswaard \n",
"\n",
" Hoofdstembureau Tellocatie Contactgegevens gemeente \\\n",
"0 Valkenswaard NaN verkiezingen@valkenswaard.nl \n",
"1 Valkenswaard NaN verkiezingen@valkenswaard.nl \n",
"2 Valkenswaard NaN verkiezingen@valkenswaard.nl \n",
"3 Valkenswaard NaN verkiezingen@valkenswaard.nl \n",
"4 Valkenswaard NaN verkiezingen@valkenswaard.nl \n",
"\n",
" Verkiezingswebsite gemeente Verkiezingen \\\n",
"0 http://www.valkenswaard.nl/verkiezingen NaN \n",
"1 http://www.valkenswaard.nl/verkiezingen NaN \n",
"2 http://www.valkenswaard.nl/verkiezingen NaN \n",
"3 http://www.valkenswaard.nl/verkiezingen NaN \n",
"4 http://www.valkenswaard.nl/verkiezingen NaN \n",
"\n",
2022-04-26 14:07:35 +02:00
" ID UUID \\\n",
"0 NLODSGM0858stembureaus20220316009 4e33661ee5464dedb2c3566795e569d2 \n",
"1 NLODSGM0858stembureaus20220316009 4e33661ee5464dedb2c3566795e569d2 \n",
"2 NLODSGM0858stembureaus20220316009 a893bb9add324ce29769f1c39afcc48d \n",
"3 NLODSGM0858stembureaus20220316009 a893bb9add324ce29769f1c39afcc48d \n",
"4 NLODSGM0858stembureaus20220316009 87090a1ceeb24ac6ac5c8e98e3017795 \n",
"\n",
" dist \n",
"0 241.175850 \n",
"1 685.771413 \n",
"2 381.668475 \n",
"3 204.105919 \n",
"4 604.118258 \n",
2022-04-26 14:07:35 +02:00
"\n",
"[5 rows x 47 columns]"
]
},
"execution_count": 239,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
2022-04-26 14:07:35 +02:00
"import numpy as np\n",
"\n",
2022-04-26 14:07:35 +02:00
"from scipy.spatial import cKDTree\n",
"from shapely.geometry import Point\n",
"#Found on https://gis.stackexchange.com/questions/222315/finding-nearest-point-in-other-geodataframe-using-geopandas\n",
"def ckdnearest(gdA, gdB):\n",
2022-04-20 13:03:38 +02:00
"\n",
2022-04-26 14:07:35 +02:00
" nA = np.array(list(gdA.geometry.apply(lambda x: (x.x, x.y))))\n",
" nB = np.array(list(gdB.geometry.apply(lambda x: (x.x, x.y))))\n",
" btree = cKDTree(nB)\n",
" dist, idx = btree.query(nA, k=1)\n",
" gdB_nearest = gdB.iloc[idx].drop(columns=\"geometry\").reset_index(drop=True)\n",
" gdf = pd.concat(\n",
" [\n",
" gdA.reset_index(drop=True),\n",
" gdB_nearest,\n",
" pd.Series(dist, name='dist')\n",
" ], \n",
" axis=1)\n",
"\n",
2022-04-26 14:07:35 +02:00
" return gdf\n",
"\n",
2022-04-26 14:07:35 +02:00
"#error bar is +- sqrt(250²*2)m ≈ +-353.553390593m\n",
"error = np.sqrt(250**2 + 250**2)\n",
"\n",
"# Get the 333 municipalities\n",
"municipalities = gdf_wims_dedupe['CBS gemeentecode'].drop_duplicates()\n",
"\n",
"temp_array = []\n",
"for municipality in municipalities:\n",
" temp_array.append(\n",
" ckdnearest(\n",
" nl_map_dst[nl_map_dst['GM_CODE'] == municipality].to_crs(epsg=28992),\n",
" gdf_wims_dedupe[gdf_wims_dedupe['CBS gemeentecode'] == municipality].to_crs(epsg=28992)\n",
" )\n",
" )\n",
" \n",
"df_nearest = pd.concat(temp_array)\n",
"df_nearest.head()"
]
},
2022-04-14 15:43:51 +02:00
{
2022-04-26 14:07:35 +02:00
"cell_type": "markdown",
2022-04-14 15:43:51 +02:00
"metadata": {},
"source": [
2022-04-26 14:07:35 +02:00
"Het was mooier geweest als we het konden filteren op alleen stemgerechtigden en niet op de gehele populatiedichtheid, maar het CBS geeft geen data vrij die daarbij helpt. Er is een categorie voor 0-14 jaar oude mensen, maar niet alle minderjarigen of niet stemgerechtigde. Het moet dus maar met totale bevolkingsdichtheid om een idee te krijgen."
2022-04-14 15:43:51 +02:00
]
},
{
"cell_type": "code",
"execution_count": 192,
2022-04-14 15:43:51 +02:00
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
2022-05-09 18:30:16 +02:00
" <th>crs28992res500m</th>\n",
" <th>aantal_inwoners</th>\n",
" <th>stedelijkheid</th>\n",
" <th>geometry</th>\n",
2022-04-14 15:43:51 +02:00
" <th>savedindex</th>\n",
" <th>GM_CODE</th>\n",
" <th>Unnamed: 0</th>\n",
2022-04-26 14:07:35 +02:00
" <th>_id</th>\n",
" <th>Gemeente</th>\n",
" <th>CBS gemeentecode</th>\n",
" <th>...</th>\n",
" <th>Gehandicaptentoilet</th>\n",
" <th>Kieskring ID</th>\n",
2022-04-26 14:07:35 +02:00
" <th>Hoofdstembureau</th>\n",
" <th>Tellocatie</th>\n",
" <th>Contactgegevens gemeente</th>\n",
" <th>Verkiezingswebsite gemeente</th>\n",
" <th>Verkiezingen</th>\n",
" <th>ID</th>\n",
" <th>UUID</th>\n",
" <th>dist</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>E2275N6190</td>\n",
2022-04-26 14:07:35 +02:00
" <td>0</td>\n",
2022-05-09 18:30:16 +02:00
" <td>-99997</td>\n",
" <td>POINT (227750.000 619250.000)</td>\n",
" <td>3</td>\n",
" <td>GM1966</td>\n",
" <td>5817</td>\n",
2022-04-26 14:07:35 +02:00
" <td>31030</td>\n",
" <td>Het Hogeland</td>\n",
" <td>GM1966</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>Het Hogeland</td>\n",
2022-04-26 14:07:35 +02:00
" <td>Het Hogeland</td>\n",
" <td>NaN</td>\n",
" <td>verkiezingen@hethogeland.nl</td>\n",
" <td>https://hethogeland.nl/bestuur-en-organisatie/...</td>\n",
" <td>NaN</td>\n",
" <td>NLODSGM1966stembureaus20220316009</td>\n",
" <td>6df04b8dd4be4aa3b4a03f221ab5ad17</td>\n",
" <td>17280.014918</td>\n",
2022-04-26 14:07:35 +02:00
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>E2270N6185</td>\n",
2022-04-26 14:07:35 +02:00
" <td>0</td>\n",
2022-05-09 18:30:16 +02:00
" <td>-99997</td>\n",
" <td>POINT (227250.000 618750.000)</td>\n",
" <td>8</td>\n",
" <td>GM1966</td>\n",
" <td>5817</td>\n",
2022-04-26 14:07:35 +02:00
" <td>31030</td>\n",
" <td>Het Hogeland</td>\n",
" <td>GM1966</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>Het Hogeland</td>\n",
2022-04-26 14:07:35 +02:00
" <td>Het Hogeland</td>\n",
" <td>NaN</td>\n",
" <td>verkiezingen@hethogeland.nl</td>\n",
" <td>https://hethogeland.nl/bestuur-en-organisatie/...</td>\n",
" <td>NaN</td>\n",
" <td>NLODSGM1966stembureaus20220316009</td>\n",
" <td>6df04b8dd4be4aa3b4a03f221ab5ad17</td>\n",
" <td>16738.249149</td>\n",
" </tr>\n",
" <tr>\n",
2022-04-14 15:43:51 +02:00
" <th>2</th>\n",
" <td>E2275N6185</td>\n",
2022-04-26 14:07:35 +02:00
" <td>0</td>\n",
2022-05-09 18:30:16 +02:00
" <td>-99997</td>\n",
" <td>POINT (227750.000 618750.000)</td>\n",
" <td>9</td>\n",
" <td>GM1966</td>\n",
" <td>5817</td>\n",
2022-04-26 14:07:35 +02:00
" <td>31030</td>\n",
" <td>Het Hogeland</td>\n",
" <td>GM1966</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>Het Hogeland</td>\n",
2022-04-26 14:07:35 +02:00
" <td>Het Hogeland</td>\n",
" <td>NaN</td>\n",
" <td>verkiezingen@hethogeland.nl</td>\n",
" <td>https://hethogeland.nl/bestuur-en-organisatie/...</td>\n",
" <td>NaN</td>\n",
" <td>NLODSGM1966stembureaus20220316009</td>\n",
" <td>6df04b8dd4be4aa3b4a03f221ab5ad17</td>\n",
" <td>16782.624170</td>\n",
" </tr>\n",
" <tr>\n",
2022-04-26 14:07:35 +02:00
" <th>3</th>\n",
" <td>E2280N6185</td>\n",
2022-04-26 14:07:35 +02:00
" <td>0</td>\n",
2022-05-09 18:30:16 +02:00
" <td>-99997</td>\n",
" <td>POINT (228250.000 618750.000)</td>\n",
" <td>10</td>\n",
" <td>GM1966</td>\n",
" <td>5817</td>\n",
2022-04-26 14:07:35 +02:00
" <td>31030</td>\n",
" <td>Het Hogeland</td>\n",
" <td>GM1966</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>Het Hogeland</td>\n",
2022-04-26 14:07:35 +02:00
" <td>Het Hogeland</td>\n",
" <td>NaN</td>\n",
" <td>verkiezingen@hethogeland.nl</td>\n",
" <td>https://hethogeland.nl/bestuur-en-organisatie/...</td>\n",
" <td>NaN</td>\n",
" <td>NLODSGM1966stembureaus20220316009</td>\n",
" <td>6df04b8dd4be4aa3b4a03f221ab5ad17</td>\n",
" <td>16841.732794</td>\n",
" </tr>\n",
" <tr>\n",
2022-04-26 14:07:35 +02:00
" <th>4</th>\n",
" <td>E2265N6180</td>\n",
2022-04-26 14:07:35 +02:00
" <td>0</td>\n",
2022-05-09 18:30:16 +02:00
" <td>-99997</td>\n",
" <td>POINT (226750.000 618250.000)</td>\n",
" <td>15</td>\n",
" <td>GM1966</td>\n",
" <td>5817</td>\n",
2022-04-26 14:07:35 +02:00
" <td>31030</td>\n",
" <td>Het Hogeland</td>\n",
" <td>GM1966</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>Het Hogeland</td>\n",
2022-04-26 14:07:35 +02:00
" <td>Het Hogeland</td>\n",
" <td>NaN</td>\n",
" <td>verkiezingen@hethogeland.nl</td>\n",
" <td>https://hethogeland.nl/bestuur-en-organisatie/...</td>\n",
" <td>NaN</td>\n",
" <td>NLODSGM1966stembureaus20220316009</td>\n",
" <td>6df04b8dd4be4aa3b4a03f221ab5ad17</td>\n",
" <td>16209.227421</td>\n",
" </tr>\n",
2022-04-14 15:43:51 +02:00
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
2022-04-26 14:07:35 +02:00
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
2022-04-14 15:43:51 +02:00
" </tr>\n",
" <tr>\n",
" <th>135084</th>\n",
" <td>E1910N3070</td>\n",
2022-04-26 14:07:35 +02:00
" <td>0</td>\n",
2022-05-09 18:30:16 +02:00
" <td>-99997</td>\n",
" <td>POINT (191250.000 307250.000)</td>\n",
" <td>151090</td>\n",
" <td>GM1729</td>\n",
" <td>5276</td>\n",
2022-04-26 14:07:35 +02:00
" <td>29739</td>\n",
" <td>Gulpen-Wittem</td>\n",
" <td>GM1729</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>Gulpen-Wittem</td>\n",
2022-04-26 14:07:35 +02:00
" <td>Gulpen-Wittem</td>\n",
" <td>NaN</td>\n",
" <td>info@gulpen-wittem.nl 14 043</td>\n",
" <td>https://www.gulpen-wittem.nl/onderwerpen/verki...</td>\n",
" <td>NaN</td>\n",
" <td>NLODSGM1729stembureaus20220316009</td>\n",
" <td>feb9d0a67a2f460f906d0d21e87bf690</td>\n",
" <td>2408.769205</td>\n",
2022-04-14 15:43:51 +02:00
" </tr>\n",
" <tr>\n",
" <th>135085</th>\n",
" <td>E1925N3070</td>\n",
" <td>0</td>\n",
2022-05-09 18:30:16 +02:00
" <td>5</td>\n",
" <td>POINT (192750.000 307250.000)</td>\n",
" <td>151093</td>\n",
" <td>GM1729</td>\n",
" <td>5276</td>\n",
2022-04-26 14:07:35 +02:00
" <td>29739</td>\n",
" <td>Gulpen-Wittem</td>\n",
" <td>GM1729</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>Gulpen-Wittem</td>\n",
2022-04-26 14:07:35 +02:00
" <td>Gulpen-Wittem</td>\n",
" <td>NaN</td>\n",
" <td>info@gulpen-wittem.nl 14 043</td>\n",
" <td>https://www.gulpen-wittem.nl/onderwerpen/verki...</td>\n",
" <td>NaN</td>\n",
" <td>NLODSGM1729stembureaus20220316009</td>\n",
" <td>feb9d0a67a2f460f906d0d21e87bf690</td>\n",
" <td>2328.556180</td>\n",
2022-04-14 15:43:51 +02:00
" </tr>\n",
" <tr>\n",
" <th>135086</th>\n",
" <td>E1970N3070</td>\n",
2022-04-26 14:07:35 +02:00
" <td>0</td>\n",
" <td>-99997</td>\n",
" <td>POINT (197250.000 307250.000)</td>\n",
" <td>151098</td>\n",
" <td>GM0981</td>\n",
" <td>496</td>\n",
" <td>4101</td>\n",
" <td>Vaals</td>\n",
" <td>GM0981</td>\n",
2022-04-26 14:07:35 +02:00
" <td>...</td>\n",
" <td>ja</td>\n",
" <td>Vaals</td>\n",
" <td>Vaals</td>\n",
" <td>ja</td>\n",
" <td>Team verkiezingen, verkiezingen2022@vaals.nl</td>\n",
" <td>http://www.vaals.nl/verkiezingen</td>\n",
" <td>NaN</td>\n",
" <td>NLODSGM0981stembureaus20220316009</td>\n",
" <td>ec2f41c816aa4f4f8b18a3565c20dd0b</td>\n",
" <td>3001.575545</td>\n",
" </tr>\n",
" <tr>\n",
" <th>135087</th>\n",
" <td>E1975N3070</td>\n",
" <td>0</td>\n",
" <td>-99997</td>\n",
" <td>POINT (197750.000 307250.000)</td>\n",
" <td>151099</td>\n",
" <td>GM0981</td>\n",
" <td>496</td>\n",
" <td>4101</td>\n",
" <td>Vaals</td>\n",
" <td>GM0981</td>\n",
" <td>...</td>\n",
" <td>ja</td>\n",
" <td>Vaals</td>\n",
" <td>Vaals</td>\n",
" <td>ja</td>\n",
" <td>Team verkiezingen, verkiezingen2022@vaals.nl</td>\n",
" <td>http://www.vaals.nl/verkiezingen</td>\n",
2022-04-26 14:07:35 +02:00
" <td>NaN</td>\n",
" <td>NLODSGM0981stembureaus20220316009</td>\n",
" <td>ec2f41c816aa4f4f8b18a3565c20dd0b</td>\n",
" <td>2635.758477</td>\n",
" </tr>\n",
" <tr>\n",
" <th>135088</th>\n",
" <td>E1980N3070</td>\n",
" <td>10</td>\n",
" <td>5</td>\n",
" <td>POINT (198250.000 307250.000)</td>\n",
" <td>151100</td>\n",
" <td>GM0981</td>\n",
" <td>496</td>\n",
" <td>4101</td>\n",
" <td>Vaals</td>\n",
" <td>GM0981</td>\n",
" <td>...</td>\n",
" <td>ja</td>\n",
" <td>Vaals</td>\n",
" <td>Vaals</td>\n",
" <td>ja</td>\n",
" <td>Team verkiezingen, verkiezingen2022@vaals.nl</td>\n",
" <td>http://www.vaals.nl/verkiezingen</td>\n",
2022-04-26 14:07:35 +02:00
" <td>NaN</td>\n",
" <td>NLODSGM0981stembureaus20220316009</td>\n",
" <td>ec2f41c816aa4f4f8b18a3565c20dd0b</td>\n",
" <td>2320.558067</td>\n",
2022-04-14 15:43:51 +02:00
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>135089 rows × 47 columns</p>\n",
2022-04-14 15:43:51 +02:00
"</div>"
],
"text/plain": [
2022-05-09 18:30:16 +02:00
" crs28992res500m aantal_inwoners stedelijkheid \\\n",
"0 E2275N6190 0 -99997 \n",
"1 E2270N6185 0 -99997 \n",
"2 E2275N6185 0 -99997 \n",
"3 E2280N6185 0 -99997 \n",
"4 E2265N6180 0 -99997 \n",
2022-05-09 18:30:16 +02:00
"... ... ... ... \n",
"135084 E1910N3070 0 -99997 \n",
"135085 E1925N3070 0 5 \n",
"135086 E1970N3070 0 -99997 \n",
"135087 E1975N3070 0 -99997 \n",
"135088 E1980N3070 10 5 \n",
2022-04-26 14:07:35 +02:00
"\n",
" geometry savedindex GM_CODE Unnamed: 0 _id \\\n",
"0 POINT (227750.000 619250.000) 3 GM1966 5817 31030 \n",
"1 POINT (227250.000 618750.000) 8 GM1966 5817 31030 \n",
"2 POINT (227750.000 618750.000) 9 GM1966 5817 31030 \n",
"3 POINT (228250.000 618750.000) 10 GM1966 5817 31030 \n",
"4 POINT (226750.000 618250.000) 15 GM1966 5817 31030 \n",
"... ... ... ... ... ... \n",
"135084 POINT (191250.000 307250.000) 151090 GM1729 5276 29739 \n",
"135085 POINT (192750.000 307250.000) 151093 GM1729 5276 29739 \n",
"135086 POINT (197250.000 307250.000) 151098 GM0981 496 4101 \n",
"135087 POINT (197750.000 307250.000) 151099 GM0981 496 4101 \n",
"135088 POINT (198250.000 307250.000) 151100 GM0981 496 4101 \n",
2022-04-26 14:07:35 +02:00
"\n",
" Gemeente CBS gemeentecode ... Gehandicaptentoilet \\\n",
"0 Het Hogeland GM1966 ... NaN \n",
"1 Het Hogeland GM1966 ... NaN \n",
"2 Het Hogeland GM1966 ... NaN \n",
"3 Het Hogeland GM1966 ... NaN \n",
"4 Het Hogeland GM1966 ... NaN \n",
"... ... ... ... ... \n",
"135084 Gulpen-Wittem GM1729 ... NaN \n",
"135085 Gulpen-Wittem GM1729 ... NaN \n",
"135086 Vaals GM0981 ... ja \n",
"135087 Vaals GM0981 ... ja \n",
"135088 Vaals GM0981 ... ja \n",
2022-04-26 14:07:35 +02:00
"\n",
" Kieskring ID Hoofdstembureau Tellocatie \\\n",
"0 Het Hogeland Het Hogeland NaN \n",
"1 Het Hogeland Het Hogeland NaN \n",
"2 Het Hogeland Het Hogeland NaN \n",
"3 Het Hogeland Het Hogeland NaN \n",
"4 Het Hogeland Het Hogeland NaN \n",
"... ... ... ... \n",
"135084 Gulpen-Wittem Gulpen-Wittem NaN \n",
"135085 Gulpen-Wittem Gulpen-Wittem NaN \n",
"135086 Vaals Vaals ja \n",
"135087 Vaals Vaals ja \n",
"135088 Vaals Vaals ja \n",
2022-04-26 14:07:35 +02:00
"\n",
" Contactgegevens gemeente \\\n",
"0 verkiezingen@hethogeland.nl \n",
"1 verkiezingen@hethogeland.nl \n",
"2 verkiezingen@hethogeland.nl \n",
"3 verkiezingen@hethogeland.nl \n",
"4 verkiezingen@hethogeland.nl \n",
"... ... \n",
"135084 info@gulpen-wittem.nl 14 043 \n",
"135085 info@gulpen-wittem.nl 14 043 \n",
"135086 Team verkiezingen, verkiezingen2022@vaals.nl \n",
"135087 Team verkiezingen, verkiezingen2022@vaals.nl \n",
"135088 Team verkiezingen, verkiezingen2022@vaals.nl \n",
2022-04-14 15:43:51 +02:00
"\n",
2022-05-09 18:30:16 +02:00
" Verkiezingswebsite gemeente Verkiezingen \\\n",
"0 https://hethogeland.nl/bestuur-en-organisatie/... NaN \n",
"1 https://hethogeland.nl/bestuur-en-organisatie/... NaN \n",
"2 https://hethogeland.nl/bestuur-en-organisatie/... NaN \n",
"3 https://hethogeland.nl/bestuur-en-organisatie/... NaN \n",
"4 https://hethogeland.nl/bestuur-en-organisatie/... NaN \n",
"... ... ... \n",
"135084 https://www.gulpen-wittem.nl/onderwerpen/verki... NaN \n",
"135085 https://www.gulpen-wittem.nl/onderwerpen/verki... NaN \n",
"135086 http://www.vaals.nl/verkiezingen NaN \n",
"135087 http://www.vaals.nl/verkiezingen NaN \n",
"135088 http://www.vaals.nl/verkiezingen NaN \n",
2022-04-26 14:07:35 +02:00
"\n",
" ID UUID \\\n",
"0 NLODSGM1966stembureaus20220316009 6df04b8dd4be4aa3b4a03f221ab5ad17 \n",
"1 NLODSGM1966stembureaus20220316009 6df04b8dd4be4aa3b4a03f221ab5ad17 \n",
"2 NLODSGM1966stembureaus20220316009 6df04b8dd4be4aa3b4a03f221ab5ad17 \n",
"3 NLODSGM1966stembureaus20220316009 6df04b8dd4be4aa3b4a03f221ab5ad17 \n",
"4 NLODSGM1966stembureaus20220316009 6df04b8dd4be4aa3b4a03f221ab5ad17 \n",
"... ... ... \n",
"135084 NLODSGM1729stembureaus20220316009 feb9d0a67a2f460f906d0d21e87bf690 \n",
"135085 NLODSGM1729stembureaus20220316009 feb9d0a67a2f460f906d0d21e87bf690 \n",
"135086 NLODSGM0981stembureaus20220316009 ec2f41c816aa4f4f8b18a3565c20dd0b \n",
"135087 NLODSGM0981stembureaus20220316009 ec2f41c816aa4f4f8b18a3565c20dd0b \n",
"135088 NLODSGM0981stembureaus20220316009 ec2f41c816aa4f4f8b18a3565c20dd0b \n",
2022-04-26 14:07:35 +02:00
"\n",
" dist \n",
"0 17280.014918 \n",
"1 16738.249149 \n",
"2 16782.624170 \n",
"3 16841.732794 \n",
"4 16209.227421 \n",
"... ... \n",
"135084 2408.769205 \n",
"135085 2328.556180 \n",
"135086 3001.575545 \n",
"135087 2635.758477 \n",
"135088 2320.558067 \n",
2022-04-26 14:07:35 +02:00
"\n",
"[135089 rows x 47 columns]"
2022-04-14 15:43:51 +02:00
]
},
"execution_count": 192,
2022-04-14 15:43:51 +02:00
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
2022-05-09 18:30:16 +02:00
"nl_map_dst_zero_points[\"aantal_inwoners\"].mask(nl_map_dst_zero_points[\"aantal_inwoners\"] == -99997, 0, inplace=True)\n",
2022-04-26 14:07:35 +02:00
"nl_map_dst_zero_points.head()\n",
2022-05-03 13:06:50 +02:00
"df_nearest_zero = ckdnearest(nl_map_dst_zero_points.to_crs(epsg=28992), gdf_wims_dedupe.to_crs(epsg=28992))\n",
2022-05-09 18:30:16 +02:00
"df_nearest_zero[\"aantal_inwoners\"].dropna()\n",
2022-04-26 14:07:35 +02:00
"df_nearest_zero[\"dist\"].dropna()\n",
"df_nearest_zero"
2022-04-14 15:43:51 +02:00
]
},
{
"cell_type": "code",
"execution_count": 193,
2022-04-26 14:07:35 +02:00
"metadata": {},
2022-04-14 15:43:51 +02:00
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
2022-04-20 13:03:38 +02:00
" <th>Gemeente</th>\n",
" <th>Naam stembureau</th>\n",
2022-04-14 15:43:51 +02:00
" <th>dist</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>32</th>\n",
2022-04-26 14:07:35 +02:00
" <td>Ridderkerk</td>\n",
" <td>Gemeentehuis</td>\n",
" <td>3.835321</td>\n",
2022-04-14 15:43:51 +02:00
" </tr>\n",
" <tr>\n",
" <th>56</th>\n",
2022-04-26 14:07:35 +02:00
" <td>Baarn</td>\n",
" <td>Dorpshuis de Furs</td>\n",
" <td>4.000517</td>\n",
2022-04-14 15:43:51 +02:00
" </tr>\n",
" <tr>\n",
" <th>120</th>\n",
" <td>Lingewaard</td>\n",
" <td>Ontmoetingscentrum Doornenburg</td>\n",
" <td>4.465340</td>\n",
" </tr>\n",
" <tr>\n",
" <th>433</th>\n",
2022-04-26 14:07:35 +02:00
" <td>Groningen</td>\n",
" <td>Dorpshuis De Hoeksteen</td>\n",
" <td>5.577246</td>\n",
2022-04-14 15:43:51 +02:00
" </tr>\n",
" <tr>\n",
" <th>48</th>\n",
2022-04-26 14:07:35 +02:00
" <td>Montfoort</td>\n",
" <td>Zalencentrum St. Joseph</td>\n",
" <td>5.703409</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
2022-04-14 15:43:51 +02:00
" <td>...</td>\n",
2022-04-26 14:07:35 +02:00
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>120</th>\n",
" <td>Zeewolde</td>\n",
" <td>De Toermalijn</td>\n",
" <td>12451.961014</td>\n",
2022-04-26 14:07:35 +02:00
" </tr>\n",
" <tr>\n",
" <th>36</th>\n",
" <td>Zeewolde</td>\n",
" <td>De Toermalijn</td>\n",
" <td>12797.434581</td>\n",
2022-04-26 14:07:35 +02:00
" </tr>\n",
" <tr>\n",
" <th>119</th>\n",
" <td>Zeewolde</td>\n",
" <td>De Toermalijn</td>\n",
" <td>12920.384421</td>\n",
2022-04-26 14:07:35 +02:00
" </tr>\n",
" <tr>\n",
" <th>109</th>\n",
" <td>Zeewolde</td>\n",
" <td>De Toermalijn</td>\n",
" <td>13093.866269</td>\n",
2022-04-26 14:07:35 +02:00
" </tr>\n",
" <tr>\n",
" <th>21</th>\n",
" <td>Zeewolde</td>\n",
" <td>De Toermalijn</td>\n",
" <td>13612.028950</td>\n",
2022-04-14 15:43:51 +02:00
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>67606 rows × 3 columns</p>\n",
2022-04-14 15:43:51 +02:00
"</div>"
],
"text/plain": [
" Gemeente Naam stembureau dist\n",
"32 Ridderkerk Gemeentehuis 3.835321\n",
"56 Baarn Dorpshuis de Furs 4.000517\n",
"120 Lingewaard Ontmoetingscentrum Doornenburg 4.465340\n",
"433 Groningen Dorpshuis De Hoeksteen 5.577246\n",
"48 Montfoort Zalencentrum St. Joseph 5.703409\n",
".. ... ... ...\n",
"120 Zeewolde De Toermalijn 12451.961014\n",
"36 Zeewolde De Toermalijn 12797.434581\n",
"119 Zeewolde De Toermalijn 12920.384421\n",
"109 Zeewolde De Toermalijn 13093.866269\n",
"21 Zeewolde De Toermalijn 13612.028950\n",
2022-04-20 13:03:38 +02:00
"\n",
"[67606 rows x 3 columns]"
2022-04-26 14:07:35 +02:00
]
},
"execution_count": 193,
2022-04-26 14:07:35 +02:00
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_nearest.sort_values(by=['dist'], inplace=True)\n",
"df_nearest[['Gemeente', 'Naam stembureau', 'dist']]"
]
},
{
"cell_type": "code",
"execution_count": 194,
2022-04-26 14:07:35 +02:00
"metadata": {},
2022-05-09 18:30:16 +02:00
"outputs": [],
2022-04-14 15:43:51 +02:00
"source": [
2022-05-09 18:30:16 +02:00
"def plot_dist(df, label):\n",
" plt.figure(figsize=(13,13))\n",
2022-05-20 18:54:23 +02:00
" df['dist'].plot(kind=\"hist\", weights=df['aantal_inwoners'], figsize=(13,13), fontsize=22, density=False,title=\"Afstand tot Stemlokaal per 500 x 500 m vierkant (minimaal 5 mensen in het vierkant) Staffel {}\".format(label), log=True).set_ylabel('Bevolking (Millioenen)')\n",
2022-05-09 18:30:16 +02:00
" plt.figure(figsize=(13,13))\n",
2022-05-20 18:54:23 +02:00
" df.plot.scatter(x = 'aantal_inwoners', y = 'dist', figsize=(13,13), fontsize=22, title=\"Afstand tot Stemlokaal per 500 x 500 m vierkant (minimaal 5 mensen in het vierkant) Staffel {}\".format(label), xlabel=\"Inwoners per 500m² (laagste is 5)\", ylabel=\"Afstand tot stemlokaal (meter)\")\n",
2022-05-09 18:30:16 +02:00
" "
2022-04-14 15:43:51 +02:00
]
},
2022-07-11 16:29:43 +02:00
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Nu plotten we een scatterplot met op de x-as het aantal inwoners per vierkant, en op de y as de afstand naar het dichtstbijzijnde stemlokaal."
]
},
2022-04-14 15:43:51 +02:00
{
"cell_type": "code",
"execution_count": 195,
2022-04-14 15:43:51 +02:00
"metadata": {},
"outputs": [
{
"data": {
2022-07-11 16:29:43 +02:00
"image/png": "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
2022-04-14 15:43:51 +02:00
"text/plain": [
"<Figure size 936x936 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
2022-05-20 18:54:23 +02:00
"ax_nearest_zero = df_nearest_zero.plot.scatter(x = 'aantal_inwoners', y = 'dist', figsize=(13,13), fontsize=22, xlabel=\"Inwoners per 500m² (inclusief lege (<5 inwoners) vierkanten)\", ylabel=\"Afstand tot stemlokaal (meter)\")\n",
"\n",
"\n",
"ax_nearest_zero.set_xscale('log')\n",
"#ax_nearest_zero.set_yscale('log')\n"
2022-04-26 14:07:35 +02:00
]
},
{
"cell_type": "code",
"execution_count": 196,
2022-04-26 14:07:35 +02:00
"metadata": {},
"outputs": [],
"source": [
"FIGSIZE = (13, 13)\n",
"def plot_bargraph_with_groupings(df, groupby, colourby, title, xlabel, ylabel):\n",
"\n",
" import matplotlib.patches as mpatches\n",
"\n",
"\n",
" # Makes the bargraph.\n",
" ax = df[groupby].value_counts().plot(kind='bar',\n",
" figsize=FIGSIZE,\n",
" title=title)\n",
" \n",
"\n",
" # display the graph.\n",
" \n",
" ax.set_xlabel(xlabel)\n",
" ax.set_ylabel(ylabel)"
]
},
2022-07-11 16:29:43 +02:00
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Gebruiksdoelen van het gebouw"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Nu gaan we een barchart maken van de gebruiksdoelen de stemlokalen."
]
},
2022-04-26 14:07:35 +02:00
{
"cell_type": "code",
"execution_count": 197,
2022-04-26 14:07:35 +02:00
"metadata": {
2022-05-04 16:38:33 +02:00
"scrolled": false
2022-04-26 14:07:35 +02:00
},
"outputs": [
{
"data": {
2022-07-11 16:29:43 +02:00
"image/png": "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
2022-04-26 14:07:35 +02:00
"text/plain": [
"<Figure size 936x936 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
2022-05-03 13:06:50 +02:00
"plot_bargraph_with_groupings(gdf_wims_dedupe, 'Gebruiksdoel van het gebouw', 'Gemeente', 'Gebruiksdoelen van Stemlokalen', 'Gebruiksdoel', 'Hoeveelheid Stemlokalen')"
2022-04-14 15:43:51 +02:00
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
2022-04-26 14:07:35 +02:00
"Dit is onbruikbaar, de categorieën moeten elk één balkje zijn, niet zoals dit."
]
},
{
"cell_type": "code",
"execution_count": 198,
2022-04-26 14:07:35 +02:00
"metadata": {},
"outputs": [],
"source": [
2022-05-09 18:30:16 +02:00
"def plot_use (df, label):\n",
" plt.figure(figsize=(13,13))\n",
" df_exploded = df.drop('Gebruiksdoel van het gebouw', axis=1).join(df['Gebruiksdoel van het gebouw'].str.split(',', expand=True).stack().reset_index(level=1,drop=True).rename('Gebruiksdoel van het gebouw'))\n",
" #print(df_exploded)\n",
" plot_bargraph_with_groupings(df_exploded, 'Gebruiksdoel van het gebouw', 'Gemeente', 'Gebruiksdoelen van Stemlokalen Staffel {}'.format(label), 'Gebruiksdoel', 'Hoeveelheid Stemlokalen')\n",
" print(\"Staffel: {}\".format(label))\n",
" print(df_exploded['Gebruiksdoel van het gebouw'].value_counts())\n",
" \n",
2022-05-09 18:30:16 +02:00
" "
2022-04-14 15:43:51 +02:00
]
},
2022-07-11 16:29:43 +02:00
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Testen of de datasets overeen komen."
]
},
2022-04-14 15:43:51 +02:00
{
"cell_type": "code",
"execution_count": 199,
2022-04-14 15:43:51 +02:00
"metadata": {},
2022-04-26 14:07:35 +02:00
"outputs": [
{
"data": {
"text/plain": [
"Amsterdam 509\n",
"Rotterdam 452\n",
"'s-Gravenhage 320\n",
"Utrecht 201\n",
"Groningen 121\n",
"Breda 111\n",
"Nijmegen 108\n",
"Eindhoven 102\n",
"Arnhem 82\n",
"Zwolle 70\n",
"Deventer 63\n",
"'s-Hertogenbosch 61\n",
"Stichtse Vecht 38\n",
"Amsterdam 387\n",
"Rotterdam 375\n",
"'s-Gravenhage 258\n",
"Utrecht 200\n",
"Groningen 123\n",
"Breda 90\n",
"Haarlem 78\n",
"Nijmegen 76\n",
"Arnhem 72\n",
"Leeuwarden 69\n",
"Súdwest-Fryslân 67\n",
"Emmen 59\n",
"Dordrecht 54\n",
"Meierijstad 49\n",
2022-04-26 14:07:35 +02:00
"Name: Gemeente, dtype: int64"
]
},
"execution_count": 199,
2022-04-26 14:07:35 +02:00
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
2022-05-03 13:06:50 +02:00
"\n",
2022-04-26 14:07:35 +02:00
"wims_count = gdf_wims_dedupe['Gemeente'].value_counts()\n",
"\n",
"\n",
2022-05-03 13:06:50 +02:00
"geojson_rename = df_geojson_dedupe.rename(columns = {'electionName': 'Gemeente'})\n",
2022-04-26 14:07:35 +02:00
"geojson_count = geojson_rename['Gemeente'].str.slice(13, -5).value_counts()\n",
"\n",
"pd.concat([geojson_count, wims_count]).drop_duplicates(keep=False)\n"
]
},
{
"cell_type": "code",
"execution_count": 200,
"metadata": {},
"outputs": [],
"source": [
"standard_14 = '2022-03-14T07:30:00 tot 2022-03-14T21:00:00'\n",
"standard_15 = '2022-03-15T07:30:00 tot 2022-03-15T21:00:00'\n",
"standard_16 = '2022-03-16T07:30:00 tot 2022-03-16T21:00:00'\n",
"\n",
2022-05-24 18:02:20 +02:00
"\n",
"nan_value = float(\"NaN\")\n",
"gdf_wims_dedupe.replace(\" \", nan_value, inplace = True)\n",
"gdf_wims_dedupe.replace(\" \", nan_value, inplace = True)\n",
"\n",
"wims_nonstandaard_14 = gdf_wims_dedupe.dropna(subset=['Openingstijden 14-03-2022']).loc[gdf_wims_dedupe['Openingstijden 14-03-2022'] != standard_14]\n",
"wims_nonstandaard_15 = gdf_wims_dedupe.dropna(subset=['Openingstijden 15-03-2022']).loc[gdf_wims_dedupe['Openingstijden 15-03-2022'] != standard_15]\n",
"wims_nonstandaard_16 = gdf_wims_dedupe.dropna(subset=['Openingstijden 16-03-2022']).loc[gdf_wims_dedupe['Openingstijden 16-03-2022'] != standard_16]\n",
"wims_standaard_14 = gdf_wims_dedupe.loc[gdf_wims_dedupe['Openingstijden 14-03-2022'] == standard_14]\n",
"wims_standaard_15 = gdf_wims_dedupe.loc[gdf_wims_dedupe['Openingstijden 15-03-2022'] == standard_15]\n",
"wims_standaard_16 = gdf_wims_dedupe.loc[gdf_wims_dedupe['Openingstijden 16-03-2022'] == standard_16]"
]
},
2022-07-11 16:29:43 +02:00
{
"cell_type": "markdown",
"metadata": {},
"source": [
"De openingstijden in een bruikbare format in de tabellen stoppen zodat we enkele datetime objecten kunnen maken per opening en sluiting."
]
},
{
"cell_type": "code",
"execution_count": 201,
2022-04-26 14:07:35 +02:00
"metadata": {},
2022-04-14 15:43:51 +02:00
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
2022-04-26 14:07:35 +02:00
" <th>Openingstijden 14-03-2022</th>\n",
" <th>Openingstijden 15-03-2022</th>\n",
" <th>Openingstijden 16-03-2022</th>\n",
2022-04-20 13:03:38 +02:00
" <th>UUID</th>\n",
2022-05-03 13:06:50 +02:00
" <th>Gemeente</th>\n",
" <th>CBS gemeentecode</th>\n",
2022-04-26 14:07:35 +02:00
" <th>Openingstijden 14-03-2022 van</th>\n",
" <th>Openingstijden 14-03-2022 tot</th>\n",
" <th>Openingstijden 15-03-2022 van</th>\n",
" <th>Openingstijden 15-03-2022 tot</th>\n",
" <th>Openingstijden 16-03-2022 van</th>\n",
" <th>Openingstijden 16-03-2022 tot</th>\n",
2022-04-14 15:43:51 +02:00
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
2022-04-26 14:07:35 +02:00
" <td>2022-03-16T10:00:00 tot 2022-03-16T13:00:00</td>\n",
" <td>3a612b2151fa4ab491b9e331355e6258</td>\n",
2022-05-03 13:06:50 +02:00
" <td>Valkenswaard</td>\n",
" <td>GM0858</td>\n",
2022-04-14 15:43:51 +02:00
" <td>NaN</td>\n",
" <td>NaN</td>\n",
2022-04-26 14:07:35 +02:00
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>2022-03-16T10:00:00</td>\n",
" <td>2022-03-16T13:00:00</td>\n",
2022-04-14 15:43:51 +02:00
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
2022-04-26 14:07:35 +02:00
" <td>2022-03-16T07:30:00 tot 2022-03-16T21:00:00</td>\n",
" <td>9a01d765af0a467ea37f08d92db114ba</td>\n",
2022-05-03 13:06:50 +02:00
" <td>Valkenswaard</td>\n",
" <td>GM0858</td>\n",
2022-04-14 15:43:51 +02:00
" <td>NaN</td>\n",
" <td>NaN</td>\n",
2022-04-26 14:07:35 +02:00
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>2022-03-16T07:30:00</td>\n",
" <td>2022-03-16T21:00:00</td>\n",
2022-04-14 15:43:51 +02:00
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
2022-04-26 14:07:35 +02:00
" <td>2022-03-16T07:30:00 tot 2022-03-16T21:00:00</td>\n",
" <td>fc5869d33fbc4b06be659149fa615f4c</td>\n",
2022-05-03 13:06:50 +02:00
" <td>Valkenswaard</td>\n",
" <td>GM0858</td>\n",
2022-04-14 15:43:51 +02:00
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
2022-04-26 14:07:35 +02:00
" <td>2022-03-16T07:30:00</td>\n",
" <td>2022-03-16T21:00:00</td>\n",
2022-04-14 15:43:51 +02:00
" </tr>\n",
" <tr>\n",
2022-04-26 14:07:35 +02:00
" <th>3</th>\n",
2022-04-14 15:43:51 +02:00
" <td>NaN</td>\n",
" <td>NaN</td>\n",
2022-04-26 14:07:35 +02:00
" <td>2022-03-16T07:30:00 tot 2022-03-16T21:00:00</td>\n",
" <td>4427cc0b39e040ba8f75c333f19d66f0</td>\n",
2022-05-03 13:06:50 +02:00
" <td>Valkenswaard</td>\n",
" <td>GM0858</td>\n",
2022-04-14 15:43:51 +02:00
" <td>NaN</td>\n",
" <td>NaN</td>\n",
2022-04-26 14:07:35 +02:00
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>2022-03-16T07:30:00</td>\n",
" <td>2022-03-16T21:00:00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>2022-03-14T07:30:00 tot 2022-03-14T21:00:00</td>\n",
" <td>2022-03-15T07:30:00 tot 2022-03-15T21:00:00</td>\n",
" <td>2022-03-16T07:30:00 tot 2022-03-16T21:00:00</td>\n",
" <td>a893bb9add324ce29769f1c39afcc48d</td>\n",
2022-05-03 13:06:50 +02:00
" <td>Valkenswaard</td>\n",
" <td>GM0858</td>\n",
2022-04-26 14:07:35 +02:00
" <td>2022-03-14T07:30:00</td>\n",
" <td>2022-03-14T21:00:00</td>\n",
" <td>2022-03-15T07:30:00</td>\n",
" <td>2022-03-15T21:00:00</td>\n",
" <td>2022-03-16T07:30:00</td>\n",
" <td>2022-03-16T21:00:00</td>\n",
2022-04-14 15:43:51 +02:00
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
2022-05-03 13:06:50 +02:00
" <td>...</td>\n",
" <td>...</td>\n",
2022-04-14 15:43:51 +02:00
" </tr>\n",
" <tr>\n",
2022-05-03 13:06:50 +02:00
" <th>9270</th>\n",
2022-04-14 15:43:51 +02:00
" <td>NaN</td>\n",
" <td>NaN</td>\n",
2022-04-26 14:07:35 +02:00
" <td>2022-03-16T07:30:00 tot 2022-03-16T21:00:00</td>\n",
2022-05-03 13:06:50 +02:00
" <td>f744546cd6894e5e9a4db4bbfd81b4ee</td>\n",
" <td>Gennep</td>\n",
" <td>GM0907</td>\n",
2022-04-14 15:43:51 +02:00
" <td>NaN</td>\n",
2022-04-26 14:07:35 +02:00
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>2022-03-16T07:30:00</td>\n",
" <td>2022-03-16T21:00:00</td>\n",
2022-04-14 15:43:51 +02:00
" </tr>\n",
" <tr>\n",
2022-05-03 13:06:50 +02:00
" <th>9271</th>\n",
" <td>2022-03-14T07:30:00 tot 2022-03-14T21:00:00</td>\n",
" <td>2022-03-15T07:30:00 tot 2022-03-15T21:00:00</td>\n",
2022-04-26 14:07:35 +02:00
" <td>2022-03-16T07:30:00 tot 2022-03-16T21:00:00</td>\n",
2022-05-03 13:06:50 +02:00
" <td>1270081b1dc74cd7bea0f45973650408</td>\n",
" <td>Gennep</td>\n",
" <td>GM0907</td>\n",
" <td>2022-03-14T07:30:00</td>\n",
" <td>2022-03-14T21:00:00</td>\n",
" <td>2022-03-15T07:30:00</td>\n",
" <td>2022-03-15T21:00:00</td>\n",
2022-04-26 14:07:35 +02:00
" <td>2022-03-16T07:30:00</td>\n",
" <td>2022-03-16T21:00:00</td>\n",
2022-04-14 15:43:51 +02:00
" </tr>\n",
" <tr>\n",
2022-05-03 13:06:50 +02:00
" <th>9272</th>\n",
2022-04-14 15:43:51 +02:00
" <td>NaN</td>\n",
2022-05-03 13:06:50 +02:00
" <td>2022-03-15T07:30:00 tot 2022-03-15T21:00:00</td>\n",
2022-04-26 14:07:35 +02:00
" <td>2022-03-16T07:30:00 tot 2022-03-16T21:00:00</td>\n",
2022-05-03 13:06:50 +02:00
" <td>447c7742604345139e41def4cf1e4d3c</td>\n",
" <td>Gennep</td>\n",
" <td>GM0907</td>\n",
2022-04-26 14:07:35 +02:00
" <td>NaN</td>\n",
" <td>NaN</td>\n",
2022-05-03 13:06:50 +02:00
" <td>2022-03-15T07:30:00</td>\n",
" <td>2022-03-15T21:00:00</td>\n",
2022-04-26 14:07:35 +02:00
" <td>2022-03-16T07:30:00</td>\n",
" <td>2022-03-16T21:00:00</td>\n",
2022-04-14 15:43:51 +02:00
" </tr>\n",
" <tr>\n",
2022-05-03 13:06:50 +02:00
" <th>9273</th>\n",
2022-04-14 15:43:51 +02:00
" <td>NaN</td>\n",
" <td>NaN</td>\n",
2022-04-26 14:07:35 +02:00
" <td>2022-03-16T07:30:00 tot 2022-03-16T21:00:00</td>\n",
2022-05-03 13:06:50 +02:00
" <td>049cfd258c174bc49abf17883396d083</td>\n",
" <td>Gennep</td>\n",
" <td>GM0907</td>\n",
2022-04-14 15:43:51 +02:00
" <td>NaN</td>\n",
" <td>NaN</td>\n",
2022-04-26 14:07:35 +02:00
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>2022-03-16T07:30:00</td>\n",
" <td>2022-03-16T21:00:00</td>\n",
2022-04-14 15:43:51 +02:00
" </tr>\n",
" <tr>\n",
2022-05-03 13:06:50 +02:00
" <th>9274</th>\n",
2022-04-14 15:43:51 +02:00
" <td>NaN</td>\n",
" <td>NaN</td>\n",
2022-04-26 14:07:35 +02:00
" <td>2022-03-16T07:30:00 tot 2022-03-16T21:00:00</td>\n",
2022-05-03 13:06:50 +02:00
" <td>1e8cbe96e72c4c6ba6303f47bec8cdb5</td>\n",
" <td>Gennep</td>\n",
" <td>GM0907</td>\n",
2022-04-14 15:43:51 +02:00
" <td>NaN</td>\n",
" <td>NaN</td>\n",
2022-04-26 14:07:35 +02:00
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>2022-03-16T07:30:00</td>\n",
" <td>2022-03-16T21:00:00</td>\n",
2022-04-14 15:43:51 +02:00
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>8582 rows × 12 columns</p>\n",
2022-04-14 15:43:51 +02:00
"</div>"
],
"text/plain": [
2022-04-26 14:07:35 +02:00
" Openingstijden 14-03-2022 \\\n",
"0 NaN \n",
"1 NaN \n",
"2 NaN \n",
"3 NaN \n",
"4 2022-03-14T07:30:00 tot 2022-03-14T21:00:00 \n",
"... ... \n",
2022-05-03 13:06:50 +02:00
"9270 NaN \n",
"9271 2022-03-14T07:30:00 tot 2022-03-14T21:00:00 \n",
"9272 NaN \n",
"9273 NaN \n",
"9274 NaN \n",
2022-04-20 13:03:38 +02:00
"\n",
2022-04-26 14:07:35 +02:00
" Openingstijden 15-03-2022 \\\n",
"0 NaN \n",
"1 NaN \n",
"2 NaN \n",
"3 NaN \n",
"4 2022-03-15T07:30:00 tot 2022-03-15T21:00:00 \n",
"... ... \n",
2022-05-03 13:06:50 +02:00
"9270 NaN \n",
"9271 2022-03-15T07:30:00 tot 2022-03-15T21:00:00 \n",
"9272 2022-03-15T07:30:00 tot 2022-03-15T21:00:00 \n",
"9273 NaN \n",
"9274 NaN \n",
2022-04-20 13:03:38 +02:00
"\n",
2022-04-26 14:07:35 +02:00
" Openingstijden 16-03-2022 \\\n",
"0 2022-03-16T10:00:00 tot 2022-03-16T13:00:00 \n",
"1 2022-03-16T07:30:00 tot 2022-03-16T21:00:00 \n",
"2 2022-03-16T07:30:00 tot 2022-03-16T21:00:00 \n",
"3 2022-03-16T07:30:00 tot 2022-03-16T21:00:00 \n",
"4 2022-03-16T07:30:00 tot 2022-03-16T21:00:00 \n",
"... ... \n",
2022-05-03 13:06:50 +02:00
"9270 2022-03-16T07:30:00 tot 2022-03-16T21:00:00 \n",
"9271 2022-03-16T07:30:00 tot 2022-03-16T21:00:00 \n",
"9272 2022-03-16T07:30:00 tot 2022-03-16T21:00:00 \n",
"9273 2022-03-16T07:30:00 tot 2022-03-16T21:00:00 \n",
"9274 2022-03-16T07:30:00 tot 2022-03-16T21:00:00 \n",
2022-04-20 13:03:38 +02:00
"\n",
2022-05-03 13:06:50 +02:00
" UUID Gemeente CBS gemeentecode \\\n",
"0 3a612b2151fa4ab491b9e331355e6258 Valkenswaard GM0858 \n",
"1 9a01d765af0a467ea37f08d92db114ba Valkenswaard GM0858 \n",
"2 fc5869d33fbc4b06be659149fa615f4c Valkenswaard GM0858 \n",
"3 4427cc0b39e040ba8f75c333f19d66f0 Valkenswaard GM0858 \n",
"4 a893bb9add324ce29769f1c39afcc48d Valkenswaard GM0858 \n",
"... ... ... ... \n",
"9270 f744546cd6894e5e9a4db4bbfd81b4ee Gennep GM0907 \n",
"9271 1270081b1dc74cd7bea0f45973650408 Gennep GM0907 \n",
"9272 447c7742604345139e41def4cf1e4d3c Gennep GM0907 \n",
"9273 049cfd258c174bc49abf17883396d083 Gennep GM0907 \n",
"9274 1e8cbe96e72c4c6ba6303f47bec8cdb5 Gennep GM0907 \n",
2022-04-20 13:03:38 +02:00
"\n",
2022-05-03 13:06:50 +02:00
" Openingstijden 14-03-2022 van Openingstijden 14-03-2022 tot \\\n",
2022-04-26 14:07:35 +02:00
"0 NaN NaN \n",
"1 NaN NaN \n",
"2 NaN NaN \n",
"3 NaN NaN \n",
2022-05-03 13:06:50 +02:00
"4 2022-03-14T07:30:00 2022-03-14T21:00:00 \n",
2022-04-26 14:07:35 +02:00
"... ... ... \n",
2022-05-03 13:06:50 +02:00
"9270 NaN NaN \n",
"9271 2022-03-14T07:30:00 2022-03-14T21:00:00 \n",
"9272 NaN NaN \n",
"9273 NaN NaN \n",
"9274 NaN NaN \n",
2022-04-20 13:03:38 +02:00
"\n",
2022-05-03 13:06:50 +02:00
" Openingstijden 15-03-2022 van Openingstijden 15-03-2022 tot \\\n",
"0 NaN NaN \n",
"1 NaN NaN \n",
"2 NaN NaN \n",
"3 NaN NaN \n",
"4 2022-03-15T07:30:00 2022-03-15T21:00:00 \n",
2022-04-26 14:07:35 +02:00
"... ... ... \n",
2022-05-03 13:06:50 +02:00
"9270 NaN NaN \n",
"9271 2022-03-15T07:30:00 2022-03-15T21:00:00 \n",
"9272 2022-03-15T07:30:00 2022-03-15T21:00:00 \n",
"9273 NaN NaN \n",
"9274 NaN NaN \n",
2022-04-20 13:03:38 +02:00
"\n",
2022-05-03 13:06:50 +02:00
" Openingstijden 16-03-2022 van Openingstijden 16-03-2022 tot \n",
"0 2022-03-16T10:00:00 2022-03-16T13:00:00 \n",
"1 2022-03-16T07:30:00 2022-03-16T21:00:00 \n",
"2 2022-03-16T07:30:00 2022-03-16T21:00:00 \n",
"3 2022-03-16T07:30:00 2022-03-16T21:00:00 \n",
"4 2022-03-16T07:30:00 2022-03-16T21:00:00 \n",
"... ... ... \n",
"9270 2022-03-16T07:30:00 2022-03-16T21:00:00 \n",
"9271 2022-03-16T07:30:00 2022-03-16T21:00:00 \n",
"9272 2022-03-16T07:30:00 2022-03-16T21:00:00 \n",
"9273 2022-03-16T07:30:00 2022-03-16T21:00:00 \n",
"9274 2022-03-16T07:30:00 2022-03-16T21:00:00 \n",
2022-04-20 13:03:38 +02:00
"\n",
"[8582 rows x 12 columns]"
2022-04-14 15:43:51 +02:00
]
},
"execution_count": 201,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
2022-05-03 13:06:50 +02:00
"gdf_wims_times = gdf_wims_dedupe.loc[:, ('Openingstijden 14-03-2022','Openingstijden 15-03-2022','Openingstijden 16-03-2022', 'UUID', 'Gemeente', 'CBS gemeentecode')]\n",
2022-04-26 14:07:35 +02:00
"gdf_wims_split = gdf_wims_times\n",
"gdf_wims_split[['Openingstijden 14-03-2022 van', 'Openingstijden 14-03-2022 tot']] = gdf_wims_times['Openingstijden 14-03-2022'].str.split(' tot ',1 , expand=True)\n",
"gdf_wims_split[['Openingstijden 15-03-2022 van', 'Openingstijden 15-03-2022 tot']] = gdf_wims_split['Openingstijden 15-03-2022'].str.split(' tot ',1 , expand=True)\n",
"gdf_wims_split[['Openingstijden 16-03-2022 van', 'Openingstijden 16-03-2022 tot']] = gdf_wims_split['Openingstijden 16-03-2022'].str.split(' tot ',1 , expand=True)\n",
"\n",
"gdf_wims_split"
]
},
{
"cell_type": "code",
"execution_count": 202,
2022-04-14 15:43:51 +02:00
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
2022-04-26 14:07:35 +02:00
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Openingstijden 14-03-2022</th>\n",
" <th>Openingstijden 15-03-2022</th>\n",
" <th>Openingstijden 16-03-2022</th>\n",
2022-04-20 13:03:38 +02:00
" <th>UUID</th>\n",
2022-05-03 13:06:50 +02:00
" <th>Gemeente</th>\n",
" <th>CBS gemeentecode</th>\n",
2022-04-26 14:07:35 +02:00
" <th>Openingstijden 14-03-2022 van</th>\n",
" <th>Openingstijden 14-03-2022 tot</th>\n",
" <th>Openingstijden 15-03-2022 van</th>\n",
" <th>Openingstijden 15-03-2022 tot</th>\n",
" <th>Openingstijden 16-03-2022 van</th>\n",
" <th>Openingstijden 16-03-2022 tot</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
2022-04-26 14:07:35 +02:00
" <th>0</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
2022-04-26 14:07:35 +02:00
" <td>2022-03-16T10:00:00 tot 2022-03-16T13:00:00</td>\n",
" <td>3a612b2151fa4ab491b9e331355e6258</td>\n",
2022-05-03 13:06:50 +02:00
" <td>Valkenswaard</td>\n",
" <td>GM0858</td>\n",
2022-04-26 14:07:35 +02:00
" <td>NaT</td>\n",
" <td>NaT</td>\n",
" <td>NaT</td>\n",
" <td>NaT</td>\n",
" <td>2022-03-16 10:00:00</td>\n",
" <td>2022-03-16 13:00:00</td>\n",
" </tr>\n",
" <tr>\n",
2022-04-26 14:07:35 +02:00
" <th>1</th>\n",
2022-04-14 15:43:51 +02:00
" <td>NaN</td>\n",
" <td>NaN</td>\n",
2022-04-26 14:07:35 +02:00
" <td>2022-03-16T07:30:00 tot 2022-03-16T21:00:00</td>\n",
" <td>9a01d765af0a467ea37f08d92db114ba</td>\n",
2022-05-03 13:06:50 +02:00
" <td>Valkenswaard</td>\n",
" <td>GM0858</td>\n",
2022-04-26 14:07:35 +02:00
" <td>NaT</td>\n",
" <td>NaT</td>\n",
" <td>NaT</td>\n",
" <td>NaT</td>\n",
" <td>2022-03-16 07:30:00</td>\n",
" <td>2022-03-16 21:00:00</td>\n",
2022-04-14 15:43:51 +02:00
" </tr>\n",
" <tr>\n",
2022-04-26 14:07:35 +02:00
" <th>2</th>\n",
2022-04-14 15:43:51 +02:00
" <td>NaN</td>\n",
" <td>NaN</td>\n",
2022-04-26 14:07:35 +02:00
" <td>2022-03-16T07:30:00 tot 2022-03-16T21:00:00</td>\n",
" <td>fc5869d33fbc4b06be659149fa615f4c</td>\n",
2022-05-03 13:06:50 +02:00
" <td>Valkenswaard</td>\n",
" <td>GM0858</td>\n",
2022-04-26 14:07:35 +02:00
" <td>NaT</td>\n",
" <td>NaT</td>\n",
" <td>NaT</td>\n",
" <td>NaT</td>\n",
" <td>2022-03-16 07:30:00</td>\n",
" <td>2022-03-16 21:00:00</td>\n",
2022-04-20 13:03:38 +02:00
" </tr>\n",
" <tr>\n",
2022-04-26 14:07:35 +02:00
" <th>3</th>\n",
2022-04-14 15:43:51 +02:00
" <td>NaN</td>\n",
" <td>NaN</td>\n",
2022-04-26 14:07:35 +02:00
" <td>2022-03-16T07:30:00 tot 2022-03-16T21:00:00</td>\n",
" <td>4427cc0b39e040ba8f75c333f19d66f0</td>\n",
2022-05-03 13:06:50 +02:00
" <td>Valkenswaard</td>\n",
" <td>GM0858</td>\n",
2022-04-26 14:07:35 +02:00
" <td>NaT</td>\n",
" <td>NaT</td>\n",
" <td>NaT</td>\n",
" <td>NaT</td>\n",
" <td>2022-03-16 07:30:00</td>\n",
" <td>2022-03-16 21:00:00</td>\n",
2022-04-14 15:43:51 +02:00
" </tr>\n",
" <tr>\n",
2022-04-26 14:07:35 +02:00
" <th>4</th>\n",
" <td>2022-03-14T07:30:00 tot 2022-03-14T21:00:00</td>\n",
" <td>2022-03-15T07:30:00 tot 2022-03-15T21:00:00</td>\n",
" <td>2022-03-16T07:30:00 tot 2022-03-16T21:00:00</td>\n",
" <td>a893bb9add324ce29769f1c39afcc48d</td>\n",
2022-05-03 13:06:50 +02:00
" <td>Valkenswaard</td>\n",
" <td>GM0858</td>\n",
2022-04-26 14:07:35 +02:00
" <td>2022-03-14 07:30:00</td>\n",
" <td>2022-03-14 21:00:00</td>\n",
" <td>2022-03-15 07:30:00</td>\n",
" <td>2022-03-15 21:00:00</td>\n",
" <td>2022-03-16 07:30:00</td>\n",
" <td>2022-03-16 21:00:00</td>\n",
" </tr>\n",
" <tr>\n",
2022-04-14 15:43:51 +02:00
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
2022-05-03 13:06:50 +02:00
" <td>...</td>\n",
" <td>...</td>\n",
2022-04-14 15:43:51 +02:00
" </tr>\n",
" <tr>\n",
2022-05-03 13:06:50 +02:00
" <th>9270</th>\n",
2022-04-14 15:43:51 +02:00
" <td>NaN</td>\n",
" <td>NaN</td>\n",
2022-04-26 14:07:35 +02:00
" <td>2022-03-16T07:30:00 tot 2022-03-16T21:00:00</td>\n",
2022-05-03 13:06:50 +02:00
" <td>f744546cd6894e5e9a4db4bbfd81b4ee</td>\n",
" <td>Gennep</td>\n",
" <td>GM0907</td>\n",
2022-04-26 14:07:35 +02:00
" <td>NaT</td>\n",
" <td>NaT</td>\n",
" <td>NaT</td>\n",
" <td>NaT</td>\n",
" <td>2022-03-16 07:30:00</td>\n",
" <td>2022-03-16 21:00:00</td>\n",
2022-04-14 15:43:51 +02:00
" </tr>\n",
" <tr>\n",
2022-05-03 13:06:50 +02:00
" <th>9271</th>\n",
" <td>2022-03-14T07:30:00 tot 2022-03-14T21:00:00</td>\n",
" <td>2022-03-15T07:30:00 tot 2022-03-15T21:00:00</td>\n",
2022-04-26 14:07:35 +02:00
" <td>2022-03-16T07:30:00 tot 2022-03-16T21:00:00</td>\n",
2022-05-03 13:06:50 +02:00
" <td>1270081b1dc74cd7bea0f45973650408</td>\n",
" <td>Gennep</td>\n",
" <td>GM0907</td>\n",
" <td>2022-03-14 07:30:00</td>\n",
" <td>2022-03-14 21:00:00</td>\n",
" <td>2022-03-15 07:30:00</td>\n",
" <td>2022-03-15 21:00:00</td>\n",
2022-04-26 14:07:35 +02:00
" <td>2022-03-16 07:30:00</td>\n",
" <td>2022-03-16 21:00:00</td>\n",
" </tr>\n",
" <tr>\n",
2022-05-03 13:06:50 +02:00
" <th>9272</th>\n",
" <td>NaN</td>\n",
2022-05-03 13:06:50 +02:00
" <td>2022-03-15T07:30:00 tot 2022-03-15T21:00:00</td>\n",
2022-04-26 14:07:35 +02:00
" <td>2022-03-16T07:30:00 tot 2022-03-16T21:00:00</td>\n",
2022-05-03 13:06:50 +02:00
" <td>447c7742604345139e41def4cf1e4d3c</td>\n",
" <td>Gennep</td>\n",
" <td>GM0907</td>\n",
2022-04-26 14:07:35 +02:00
" <td>NaT</td>\n",
" <td>NaT</td>\n",
2022-05-03 13:06:50 +02:00
" <td>2022-03-15 07:30:00</td>\n",
" <td>2022-03-15 21:00:00</td>\n",
2022-04-26 14:07:35 +02:00
" <td>2022-03-16 07:30:00</td>\n",
" <td>2022-03-16 21:00:00</td>\n",
" </tr>\n",
" <tr>\n",
2022-05-03 13:06:50 +02:00
" <th>9273</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
2022-04-26 14:07:35 +02:00
" <td>2022-03-16T07:30:00 tot 2022-03-16T21:00:00</td>\n",
2022-05-03 13:06:50 +02:00
" <td>049cfd258c174bc49abf17883396d083</td>\n",
" <td>Gennep</td>\n",
" <td>GM0907</td>\n",
2022-04-26 14:07:35 +02:00
" <td>NaT</td>\n",
" <td>NaT</td>\n",
" <td>NaT</td>\n",
" <td>NaT</td>\n",
" <td>2022-03-16 07:30:00</td>\n",
" <td>2022-03-16 21:00:00</td>\n",
2022-04-14 15:43:51 +02:00
" </tr>\n",
" <tr>\n",
2022-05-03 13:06:50 +02:00
" <th>9274</th>\n",
2022-04-14 15:43:51 +02:00
" <td>NaN</td>\n",
" <td>NaN</td>\n",
2022-04-26 14:07:35 +02:00
" <td>2022-03-16T07:30:00 tot 2022-03-16T21:00:00</td>\n",
2022-05-03 13:06:50 +02:00
" <td>1e8cbe96e72c4c6ba6303f47bec8cdb5</td>\n",
" <td>Gennep</td>\n",
" <td>GM0907</td>\n",
2022-04-26 14:07:35 +02:00
" <td>NaT</td>\n",
" <td>NaT</td>\n",
" <td>NaT</td>\n",
" <td>NaT</td>\n",
" <td>2022-03-16 07:30:00</td>\n",
" <td>2022-03-16 21:00:00</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>8582 rows × 12 columns</p>\n",
"</div>"
],
"text/plain": [
2022-04-26 14:07:35 +02:00
" Openingstijden 14-03-2022 \\\n",
"0 NaN \n",
"1 NaN \n",
"2 NaN \n",
"3 NaN \n",
"4 2022-03-14T07:30:00 tot 2022-03-14T21:00:00 \n",
"... ... \n",
2022-05-03 13:06:50 +02:00
"9270 NaN \n",
"9271 2022-03-14T07:30:00 tot 2022-03-14T21:00:00 \n",
"9272 NaN \n",
"9273 NaN \n",
"9274 NaN \n",
"\n",
2022-04-26 14:07:35 +02:00
" Openingstijden 15-03-2022 \\\n",
"0 NaN \n",
"1 NaN \n",
"2 NaN \n",
"3 NaN \n",
"4 2022-03-15T07:30:00 tot 2022-03-15T21:00:00 \n",
"... ... \n",
2022-05-03 13:06:50 +02:00
"9270 NaN \n",
"9271 2022-03-15T07:30:00 tot 2022-03-15T21:00:00 \n",
"9272 2022-03-15T07:30:00 tot 2022-03-15T21:00:00 \n",
"9273 NaN \n",
"9274 NaN \n",
"\n",
2022-04-26 14:07:35 +02:00
" Openingstijden 16-03-2022 \\\n",
"0 2022-03-16T10:00:00 tot 2022-03-16T13:00:00 \n",
"1 2022-03-16T07:30:00 tot 2022-03-16T21:00:00 \n",
"2 2022-03-16T07:30:00 tot 2022-03-16T21:00:00 \n",
"3 2022-03-16T07:30:00 tot 2022-03-16T21:00:00 \n",
"4 2022-03-16T07:30:00 tot 2022-03-16T21:00:00 \n",
"... ... \n",
2022-05-03 13:06:50 +02:00
"9270 2022-03-16T07:30:00 tot 2022-03-16T21:00:00 \n",
"9271 2022-03-16T07:30:00 tot 2022-03-16T21:00:00 \n",
"9272 2022-03-16T07:30:00 tot 2022-03-16T21:00:00 \n",
"9273 2022-03-16T07:30:00 tot 2022-03-16T21:00:00 \n",
"9274 2022-03-16T07:30:00 tot 2022-03-16T21:00:00 \n",
2022-04-14 15:43:51 +02:00
"\n",
2022-05-03 13:06:50 +02:00
" UUID Gemeente CBS gemeentecode \\\n",
"0 3a612b2151fa4ab491b9e331355e6258 Valkenswaard GM0858 \n",
"1 9a01d765af0a467ea37f08d92db114ba Valkenswaard GM0858 \n",
"2 fc5869d33fbc4b06be659149fa615f4c Valkenswaard GM0858 \n",
"3 4427cc0b39e040ba8f75c333f19d66f0 Valkenswaard GM0858 \n",
"4 a893bb9add324ce29769f1c39afcc48d Valkenswaard GM0858 \n",
"... ... ... ... \n",
"9270 f744546cd6894e5e9a4db4bbfd81b4ee Gennep GM0907 \n",
"9271 1270081b1dc74cd7bea0f45973650408 Gennep GM0907 \n",
"9272 447c7742604345139e41def4cf1e4d3c Gennep GM0907 \n",
"9273 049cfd258c174bc49abf17883396d083 Gennep GM0907 \n",
"9274 1e8cbe96e72c4c6ba6303f47bec8cdb5 Gennep GM0907 \n",
2022-04-20 13:03:38 +02:00
"\n",
2022-05-03 13:06:50 +02:00
" Openingstijden 14-03-2022 van Openingstijden 14-03-2022 tot \\\n",
2022-04-26 14:07:35 +02:00
"0 NaT NaT \n",
"1 NaT NaT \n",
"2 NaT NaT \n",
"3 NaT NaT \n",
2022-05-03 13:06:50 +02:00
"4 2022-03-14 07:30:00 2022-03-14 21:00:00 \n",
2022-04-26 14:07:35 +02:00
"... ... ... \n",
2022-05-03 13:06:50 +02:00
"9270 NaT NaT \n",
"9271 2022-03-14 07:30:00 2022-03-14 21:00:00 \n",
"9272 NaT NaT \n",
"9273 NaT NaT \n",
"9274 NaT NaT \n",
2022-04-20 13:03:38 +02:00
"\n",
2022-05-03 13:06:50 +02:00
" Openingstijden 15-03-2022 van Openingstijden 15-03-2022 tot \\\n",
"0 NaT NaT \n",
"1 NaT NaT \n",
"2 NaT NaT \n",
"3 NaT NaT \n",
"4 2022-03-15 07:30:00 2022-03-15 21:00:00 \n",
2022-04-26 14:07:35 +02:00
"... ... ... \n",
2022-05-03 13:06:50 +02:00
"9270 NaT NaT \n",
"9271 2022-03-15 07:30:00 2022-03-15 21:00:00 \n",
"9272 2022-03-15 07:30:00 2022-03-15 21:00:00 \n",
"9273 NaT NaT \n",
"9274 NaT NaT \n",
2022-04-20 13:03:38 +02:00
"\n",
2022-05-03 13:06:50 +02:00
" Openingstijden 16-03-2022 van Openingstijden 16-03-2022 tot \n",
"0 2022-03-16 10:00:00 2022-03-16 13:00:00 \n",
"1 2022-03-16 07:30:00 2022-03-16 21:00:00 \n",
"2 2022-03-16 07:30:00 2022-03-16 21:00:00 \n",
"3 2022-03-16 07:30:00 2022-03-16 21:00:00 \n",
"4 2022-03-16 07:30:00 2022-03-16 21:00:00 \n",
"... ... ... \n",
"9270 2022-03-16 07:30:00 2022-03-16 21:00:00 \n",
"9271 2022-03-16 07:30:00 2022-03-16 21:00:00 \n",
"9272 2022-03-16 07:30:00 2022-03-16 21:00:00 \n",
"9273 2022-03-16 07:30:00 2022-03-16 21:00:00 \n",
"9274 2022-03-16 07:30:00 2022-03-16 21:00:00 \n",
2022-04-20 13:03:38 +02:00
"\n",
"[8582 rows x 12 columns]"
]
},
"execution_count": 202,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
2022-05-03 13:06:50 +02:00
"gdf_wims_split[['Openingstijden 14-03-2022 van','Openingstijden 15-03-2022 van','Openingstijden 16-03-2022 van', 'Openingstijden 14-03-2022 tot', 'Openingstijden 15-03-2022 tot','Openingstijden 16-03-2022 tot']] = gdf_wims_split[['Openingstijden 14-03-2022 van','Openingstijden 15-03-2022 van','Openingstijden 16-03-2022 van','Openingstijden 14-03-2022 tot','Openingstijden 15-03-2022 tot','Openingstijden 16-03-2022 tot']].apply(pd.to_datetime, errors='coerce')\n",
"gdf_wims_split"
]
},
{
"cell_type": "code",
"execution_count": 203,
2022-05-03 13:06:50 +02:00
"metadata": {
"scrolled": false
},
"outputs": [],
"source": [
"import datetime as dt\n",
"import numpy as np\n",
2022-05-20 18:54:23 +02:00
"\n",
2022-05-03 13:06:50 +02:00
"def datesplit(df, column):\n",
"\n",
2022-05-03 13:06:50 +02:00
" df = df.dropna(subset = ['{} van'.format(column)])\n",
" df1 = df.rename(columns={'{} van'.format(column):'vandate','{} tot'.format(column):'totdate', 'UUID':'UUID'})\n",
" return (pd.concat([pd.Series(r.UUID,pd.date_range(r.vandate, r.totdate, freq='0.5H')) \n",
" for r in df1.itertuples()])\n",
2022-05-04 13:24:29 +02:00
" .rename_axis('Openingstijden')\n",
2022-05-03 13:06:50 +02:00
" .reset_index(name='UUID'))\n",
"def plot_opening(df, label):\n",
" print(\"Open op 14 maart groep {}: {}\".format(label, df[df['Openingstijden 15-03-2022 van'].isnull()][df['Openingstijden 16-03-2022 van'].isnull()]['Openingstijden 14-03-2022 van'].count()))\n",
" print(\"Open op 15 maart groep {}: {}\".format(label, df[df['Openingstijden 14-03-2022 van'].isnull()][df['Openingstijden 16-03-2022 van'].isnull()]['Openingstijden 15-03-2022 van'].count()))\n",
" print(\"Open op 16 maart groep {}: {}\".format(label, df[df['Openingstijden 14-03-2022 van'].isnull()][df['Openingstijden 15-03-2022 van'].isnull()]['Openingstijden 16-03-2022 van'].count()))\n",
"\n",
" print(\"Open op 14 én 15 maart groep {}: {}\".format(label, df[df['Openingstijden 16-03-2022 van'].isnull()].dropna(subset=['Openingstijden 15-03-2022 van'])['Openingstijden 14-03-2022 van'].count()))\n",
" print(\"Open op 14 én 16 maart groep {}: {}\".format(label, df[df['Openingstijden 15-03-2022 van'].isnull()].dropna(subset=['Openingstijden 16-03-2022 van'])['Openingstijden 14-03-2022 van'].count()))\n",
" print(\"Open op 15 én 16 maart groep {}: {}\".format(label, df[df['Openingstijden 14-03-2022 van'].isnull()].dropna(subset=['Openingstijden 15-03-2022 van'])['Openingstijden 16-03-2022 van'].count()))\n",
" print(\"Open op 14, 15 én 16 maart groep {}: {}\".format(label, df.dropna(subset=['Openingstijden 16-03-2022 van', 'Openingstijden 15-03-2022 van'])['Openingstijden 14-03-2022 van'].count()))\n",
"\n",
" opening = np.datetime64('2022-03-16 07:30:00')\n",
" closing = np.datetime64('2022-03-16 21:00:00')\n",
"\n",
" #print(df[(df['Openingstijden 16-03-2022 van'] == opening)])\n",
" df_standard = df[(df['Openingstijden 16-03-2022 van'] == opening) & (df['Openingstijden 16-03-2022 tot'] == closing)]\n",
"\n",
" print(\"Aantal stemlokalen open op standaard tijden 16 Maart in staffel {}: {}\".format(label, df_standard['Openingstijden 14-03-2022 van'].count()))\n",
"\n",
2022-05-04 13:24:29 +02:00
" plt.figure(figsize=(13,13))\n",
2022-05-03 13:06:50 +02:00
" wims_datesplit_14 = df.loc[:, ('Openingstijden 14-03-2022 van','Openingstijden 14-03-2022 tot', 'UUID')]\n",
" wims_datesplit_15 = df.loc[:, ('Openingstijden 15-03-2022 van','Openingstijden 15-03-2022 tot', 'UUID')]\n",
" wims_datesplit_16 = df.loc[:, ('Openingstijden 16-03-2022 van','Openingstijden 16-03-2022 tot', 'UUID')]\n",
" wims_datesplit_14 = datesplit(wims_datesplit_14, 'Openingstijden 14-03-2022')\n",
" wims_datesplit_15 = datesplit(wims_datesplit_15, 'Openingstijden 15-03-2022')\n",
" wims_datesplit_16 = datesplit(wims_datesplit_16, 'Openingstijden 16-03-2022')\n",
2022-05-04 13:24:29 +02:00
"\n",
" wims_datesplit_14.reset_index()\n",
" wims_datesplit_15.reset_index()\n",
" wims_datesplit_16.reset_index()\n",
"\n",
" #wims_datesplit_14.info()\n",
" #wims_datesplit_15.info()\n",
" #wims_datesplit_16.info()\n",
"\n",
" \n",
" wims_datestack = pd.concat([wims_datesplit_14, wims_datesplit_15], ignore_index=True)\n",
" wims_datestack = pd.concat([wims_datestack, wims_datesplit_16], ignore_index=True)\n",
" \n",
" wims_datestack.set_index('Openingstijden', drop=False, inplace=True)\n",
"\n",
" #print(wims_datestack['Openingstijden'].unique())\n",
"\n",
" xticks = []\n",
" xticklabels = []\n",
" datetimecount = 0\n",
2022-05-04 16:38:33 +02:00
" for datetime in wims_datestack.groupby(pd.Grouper(freq='30Min'))['Openingstijden'].unique():\n",
" if (datetime.size > 0):\n",
" xticks.append(datetime.ravel()[0])\n",
" if(datetimecount % 6 == 0):\n",
" ts = pd.to_datetime(datetime.ravel()[0])\n",
" #hardcoded for the data, sloppy code, quick fix, only applies to timestamps with 7 minute changes to reality\n",
" if (ts.minute == 7):\n",
" ts = ts - dt.timedelta(minutes=7)\n",
" xticklabels.append(ts.strftime(\"%m-%d %H:%M\"))\n",
2022-05-04 16:38:33 +02:00
" else:\n",
" xticklabels.append(\" \")\n",
2022-05-04 13:24:29 +02:00
" else:\n",
2022-05-04 16:38:33 +02:00
" xticks.append(\"\")\n",
2022-05-04 13:24:29 +02:00
" xticklabels.append(\"\")\n",
" datetimecount += 1\n",
"\n",
"\n",
2022-05-20 18:54:23 +02:00
" wims_datestack.groupby(pd.Grouper(freq='30Min')).count().plot(kind='bar', y='Openingstijden',width=1, figsize=(25, 25), title=\"Openingstijden stemlokalen staffel {}\".format(label), log=True).set_xticklabels(xticklabels, rotation=-45, ha=\"left\", rotation_mode=\"anchor\")\n",
" \n",
"\n",
" \n",
2022-05-20 18:54:23 +02:00
" dfg = wims_datestack.groupby(pd.Grouper(freq='30Min')).count()\n",
" dfg['Staffel'] = label\n",
"\n",
2022-05-20 18:54:23 +02:00
" global wims_datestack_grouped\n",
" if (label != 'totaal'):\n",
" wims_datestack_grouped = pd.concat([wims_datestack_grouped, dfg])\n",
2022-05-09 20:02:13 +02:00
" wims_datestack.to_csv(path_or_buf='../data/export/openingstijden_staffel_{}.csv'.format(label), sep=';', na_rep='', header=True, date_format = '%m-%d %H:%M')\n",
"\n",
2022-05-04 13:24:29 +02:00
"\n",
" #wims_datesplit_16.groupby(wims_datesplit_16[\"Openingstijden 16-03-2022\"].dt.hour).count().plot(kind=\"bar\", y='Openingstijden 16-03-2022')\n",
" #wims_datesplit_16.groupby(pd.Grouper(freq='30Min')).count().plot(kind='bar', y='Openingstijden 16-03-2022')\n",
" #wims_datesplit_15.groupby(wims_datesplit_15[\"Openingstijden 15-03-2022\"].dt.hour).count().plot(kind=\"bar\", y='Openingstijden 15-03-2022')\n",
" #wims_datesplit_14.groupby(wims_datesplit_14[\"Openingstijden 14-03-2022\"].dt.hour).count().plot(kind=\"bar\", y='Openingstijden 14-03-2022')\n"
2022-05-03 13:06:50 +02:00
]
},
2022-07-11 16:29:43 +02:00
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Het indelen van alle data in staffels gebaseerd op de hoeveelheid stemgerechtigden per gemeente."
]
},
2022-05-03 13:06:50 +02:00
{
"cell_type": "code",
"execution_count": 244,
2022-05-03 13:06:50 +02:00
"metadata": {},
"outputs": [],
2022-05-03 13:06:50 +02:00
"source": [
2022-05-04 13:24:29 +02:00
"df_stemger = pd.read_excel('../data/Maatwerk_kiesgerechtigd_per_gemeente_def.xlsx', sheet_name='Tabel 1', header=0, skiprows= [0,1,3,5,6,7,344,345])\n",
2022-05-03 13:06:50 +02:00
"df_stemger_clean = df_stemger[df_stemger['gemeentecode'].isin(nl_map_clean['GM_CODE'])]\n",
"\n",
"bins = [0, 10, 30, 60, 100, 350, float(\"inf\")]\n",
2022-05-20 18:54:23 +02:00
"labels = ['1; 0-10.000 stemgerechtigden', '2; 10.000-30.000 stemgerechtigden', '3; 30.000-60.000 stemgerechtigden', '4; 60.000-100.000 stemgerechtigden', '5; 100.000-350.000 stemgerechtigden', '6; >350.000 stemgerechtigden']\n",
2022-05-03 13:06:50 +02:00
"\n",
"df_stemger_clean['binned'] = pd.cut(df_stemger_clean['Kiesgerechtigde bevolking'], bins, labels=labels)\n"
]
},
{
2022-04-14 15:43:51 +02:00
"cell_type": "code",
"execution_count": 245,
"metadata": {},
"outputs": [],
"source": [
"def filter_binned(df1, df2):\n",
" return df1[df1['CBS gemeentecode'].isin(df2['gemeentecode'])]"
]
},
{
"cell_type": "code",
"execution_count": 246,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" Gemeente Naam stembureau dist gemeentecode \\\n",
"733 Vlieland Sporthal Flidunen 8023.806656 GM0096 \n",
"\n",
" geometry gemeente Kiesgerechtigde bevolking \\\n",
"733 POINT (127250.000 586750.000) Vlieland 1 \n",
"\n",
" binned \n",
"733 1; 0-10.000 stemgerechtigden \n",
" Gemeente Naam stembureau dist gemeentecode \\\n",
"4180 Zeewolde De Toermalijn 13612.02895 GM0050 \n",
"\n",
" geometry gemeente Kiesgerechtigde bevolking \\\n",
"4180 POINT (151250.000 488250.000) Zeewolde 18.3 \n",
"\n",
" binned \n",
"4180 2; 10.000-30.000 stemgerechtigden \n",
" Gemeente Naam stembureau dist gemeentecode \\\n",
"60001 Altena MFA Vlechtwerk 9716.479603 GM1959 \n",
"\n",
" geometry gemeente Kiesgerechtigde bevolking \\\n",
"60001 POINT (111750.000 421250.000) Altena 44.9 \n",
"\n",
" binned \n",
"60001 3; 30.000-60.000 stemgerechtigden \n",
" Gemeente Naam stembureau dist gemeentecode \\\n",
"17493 Lelystad Gymzaal Lelystad-Haven (1) 12211.053519 GM0995 \n",
"\n",
" geometry gemeente Kiesgerechtigde bevolking \\\n",
"17493 POINT (149750.000 491750.000) Lelystad 62.9 \n",
"\n",
" binned \n",
"17493 4; 60.000-100.000 stemgerechtigden \n",
" Gemeente Naam stembureau dist gemeentecode \\\n",
"13840 Zwolle Kerk Hoofdhof 7665.182341 GM0193 \n",
"\n",
" geometry gemeente Kiesgerechtigde bevolking \\\n",
"13840 POINT (210250.000 510750.000) Zwolle 102.8 \n",
"\n",
" binned \n",
"13840 5; 100.000-350.000 stemgerechtigden \n",
" Gemeente Naam stembureau dist gemeentecode \\\n",
"63804 Amsterdam Tent Schoolpein t Koggeschip 4539.304592 GM0363 \n",
"\n",
" geometry gemeente Kiesgerechtigde bevolking \\\n",
"63804 POINT (111250.000 490750.000) Amsterdam 689.3 \n",
"\n",
" binned \n",
"63804 6; >350.000 stemgerechtigden \n"
]
}
],
"source": [
"df_dist_nonbin = df_nearest[['Gemeente', 'Naam stembureau', 'dist', \"CBS gemeentecode\", \"geometry\"]].rename(columns = {'CBS gemeentecode': 'gemeentecode'})\n",
"df_dist_bin = pd.merge(df_dist_nonbin, df_stemger_clean, on = 'gemeentecode')\n",
"\n",
"df_furthest_binned = pd.DataFrame()\n",
"\n",
"for label in labels: \n",
" print(df_dist_bin[df_dist_bin['binned'].str.fullmatch(label)].sort_values(by=['dist'])[::-1].head(1))\n",
" df_furthest_binned = df_furthest_binned.append(df_dist_bin[df_dist_bin['binned'].str.fullmatch(label)].sort_values(by=['dist'])[::-1].head(1))\n",
"\n"
]
},
2022-07-11 16:29:43 +02:00
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Indelen van stemlokalen in op standaard tijden open en niet op standaard tijden open."
]
},
{
"cell_type": "code",
"execution_count": 208,
2022-05-24 18:02:20 +02:00
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Staffel: 1; 0-10.000 stemgerechtigden, dag: 14 maart, open op standaard dagen, stemlokalen: 28\n",
"Staffel: 1; 0-10.000 stemgerechtigden, dag: 15 maart, open op standaard dagen, stemlokalen: 31\n",
"Staffel: 1; 0-10.000 stemgerechtigden, dag: 16 maart, open op standaard dagen, stemlokalen: 129\n",
2022-05-24 18:02:20 +02:00
"Staffel: 1; 0-10.000 stemgerechtigden, dag: 14 maart, niet open op standaard dagen, stemlokalen: 0\n",
"Staffel: 1; 0-10.000 stemgerechtigden, dag: 15 maart, niet open op standaard dagen, stemlokalen: 4\n",
"Staffel: 1; 0-10.000 stemgerechtigden, dag: 16 maart, niet open op standaard dagen, stemlokalen: 3\n",
"Staffel: 2; 10.000-30.000 stemgerechtigden, dag: 14 maart, open op standaard dagen, stemlokalen: 446\n",
"Staffel: 2; 10.000-30.000 stemgerechtigden, dag: 15 maart, open op standaard dagen, stemlokalen: 449\n",
"Staffel: 2; 10.000-30.000 stemgerechtigden, dag: 16 maart, open op standaard dagen, stemlokalen: 2242\n",
"Staffel: 2; 10.000-30.000 stemgerechtigden, dag: 14 maart, niet open op standaard dagen, stemlokalen: 16\n",
"Staffel: 2; 10.000-30.000 stemgerechtigden, dag: 15 maart, niet open op standaard dagen, stemlokalen: 17\n",
"Staffel: 2; 10.000-30.000 stemgerechtigden, dag: 16 maart, niet open op standaard dagen, stemlokalen: 103\n",
"Staffel: 3; 30.000-60.000 stemgerechtigden, dag: 14 maart, open op standaard dagen, stemlokalen: 392\n",
"Staffel: 3; 30.000-60.000 stemgerechtigden, dag: 15 maart, open op standaard dagen, stemlokalen: 388\n",
"Staffel: 3; 30.000-60.000 stemgerechtigden, dag: 16 maart, open op standaard dagen, stemlokalen: 2328\n",
"Staffel: 3; 30.000-60.000 stemgerechtigden, dag: 14 maart, niet open op standaard dagen, stemlokalen: 12\n",
"Staffel: 3; 30.000-60.000 stemgerechtigden, dag: 15 maart, niet open op standaard dagen, stemlokalen: 17\n",
"Staffel: 3; 30.000-60.000 stemgerechtigden, dag: 16 maart, niet open op standaard dagen, stemlokalen: 68\n",
"Staffel: 4; 60.000-100.000 stemgerechtigden, dag: 14 maart, open op standaard dagen, stemlokalen: 213\n",
"Staffel: 4; 60.000-100.000 stemgerechtigden, dag: 15 maart, open op standaard dagen, stemlokalen: 213\n",
"Staffel: 4; 60.000-100.000 stemgerechtigden, dag: 16 maart, open op standaard dagen, stemlokalen: 1051\n",
2022-05-24 18:02:20 +02:00
"Staffel: 4; 60.000-100.000 stemgerechtigden, dag: 14 maart, niet open op standaard dagen, stemlokalen: 3\n",
"Staffel: 4; 60.000-100.000 stemgerechtigden, dag: 15 maart, niet open op standaard dagen, stemlokalen: 2\n",
"Staffel: 4; 60.000-100.000 stemgerechtigden, dag: 16 maart, niet open op standaard dagen, stemlokalen: 29\n",
"Staffel: 5; 100.000-350.000 stemgerechtigden, dag: 14 maart, open op standaard dagen, stemlokalen: 226\n",
"Staffel: 5; 100.000-350.000 stemgerechtigden, dag: 15 maart, open op standaard dagen, stemlokalen: 202\n",
"Staffel: 5; 100.000-350.000 stemgerechtigden, dag: 16 maart, open op standaard dagen, stemlokalen: 1456\n",
2022-05-24 18:02:20 +02:00
"Staffel: 5; 100.000-350.000 stemgerechtigden, dag: 14 maart, niet open op standaard dagen, stemlokalen: 13\n",
"Staffel: 5; 100.000-350.000 stemgerechtigden, dag: 15 maart, niet open op standaard dagen, stemlokalen: 16\n",
"Staffel: 5; 100.000-350.000 stemgerechtigden, dag: 16 maart, niet open op standaard dagen, stemlokalen: 39\n",
2022-05-24 18:02:20 +02:00
"Staffel: 6; >350.000 stemgerechtigden, dag: 14 maart, open op standaard dagen, stemlokalen: 151\n",
"Staffel: 6; >350.000 stemgerechtigden, dag: 15 maart, open op standaard dagen, stemlokalen: 151\n",
"Staffel: 6; >350.000 stemgerechtigden, dag: 16 maart, open op standaard dagen, stemlokalen: 1015\n",
2022-05-24 18:02:20 +02:00
"Staffel: 6; >350.000 stemgerechtigden, dag: 14 maart, niet open op standaard dagen, stemlokalen: 1\n",
"Staffel: 6; >350.000 stemgerechtigden, dag: 15 maart, niet open op standaard dagen, stemlokalen: 1\n",
"Staffel: 6; >350.000 stemgerechtigden, dag: 16 maart, niet open op standaard dagen, stemlokalen: 5\n"
]
}
],
"source": [
"open_standaard = {\n",
" 'dag': [],\n",
" 'standaard': [],\n",
" 'aantal': [],\n",
" 'staffel': []\n",
" }\n",
"\n",
"def print_opening_standard(df, label, day, standard):\n",
" df_stemger_label = df_stemger_clean[df_stemger_clean['binned'].str.fullmatch(label)]\n",
" print(\"Staffel: {}, dag: {}, {}open op standaard dagen, stemlokalen: {}\".format(label, day, standard, len(filter_binned(df, df_stemger_label).index)))\n",
" global open_standaard\n",
" open_standaard['dag'].append(day)\n",
" open_standaard['aantal'].append(len(filter_binned(df, df_stemger_label).index))\n",
" open_standaard['staffel'].append(label)\n",
" if (standard == 'niet '):\n",
" open_standaard['standaard'].append(False)\n",
" else:\n",
" open_standaard['standaard'].append(True)\n",
"for label in labels:\n",
" print_opening_standard(wims_standaard_14, label, \"14 maart\", \"\")\n",
" print_opening_standard(wims_standaard_15, label, \"15 maart\", \"\")\n",
" print_opening_standard(wims_standaard_16, label, \"16 maart\", \"\")\n",
" print_opening_standard(wims_nonstandaard_14, label, \"14 maart\", \"niet \")\n",
" print_opening_standard(wims_nonstandaard_15, label, \"15 maart\", \"niet \")\n",
" print_opening_standard(wims_nonstandaard_16, label, \"16 maart\", \"niet \")\n"
]
},
2022-07-11 16:29:43 +02:00
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Grafieken maken van hoeveel stemlokalen open zijn op de dagen waarop gestemd kan worden (inclusief, totalen zijn meer dan de hoeveelheid stemlokalen). Eerste grafiek is linear, tweede logaritmisch"
]
},
2022-05-24 18:02:20 +02:00
{
"cell_type": "code",
"execution_count": 209,
2022-05-24 18:02:20 +02:00
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
2022-05-24 18:39:00 +02:00
"[Text(0, 0, '14 maart'), Text(1, 0, '15 maart'), Text(2, 0, '16 maart')]"
2022-05-24 18:02:20 +02:00
]
},
"execution_count": 209,
2022-05-24 18:02:20 +02:00
"metadata": {},
"output_type": "execute_result"
2022-05-24 18:39:00 +02:00
},
{
"data": {
2022-07-11 16:29:43 +02:00
"image/png": "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
2022-05-24 18:39:00 +02:00
"text/plain": [
"<Figure size 936x936 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
2022-07-11 16:29:43 +02:00
"image/png": "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
2022-05-24 18:39:00 +02:00
"text/plain": [
"<Figure size 936x936 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
2022-05-24 18:02:20 +02:00
}
],
"source": [
2022-05-24 18:39:00 +02:00
"df_open_standaard_full = pd.DataFrame(open_standaard)\n",
"\n",
"df_open_standaard_plot = df_open_standaard_full[df_open_standaard_full['standaard']].pivot(index='dag', columns=['staffel'], values=['aantal'])\n",
"\n",
"df_open_nonstandaard = pd.DataFrame(open_standaard)\n",
"\n",
"df_open_nonstandaard_plot = df_open_nonstandaard[~df_open_nonstandaard['standaard']].pivot(index='dag', columns=['staffel'], values=['aantal'])\n",
"\n",
"dagen_standaard = sorted(list(dict.fromkeys(open_standaard['dag'])))\n",
"\n",
2022-05-24 18:43:15 +02:00
"ax_open_standaard = df_open_standaard_plot.plot(title='Stemlokalen open op standaard tijden',kind=\"bar\", stacked=True, fontsize=22, figsize=(13,13))\n",
2022-05-24 18:39:00 +02:00
"\n",
2022-05-24 18:43:15 +02:00
"ax_open_nonstandaard = df_open_nonstandaard_plot.plot(title='Stemlokalen open op niet standaard tijden', kind=\"bar\", stacked=True, fontsize=22, figsize=(13,13))\n",
2022-05-24 18:39:00 +02:00
"\n",
"ax_open_standaard.set_xticklabels(dagen_standaard, fontsize=22, rotation=-45, ha=\"left\", rotation_mode=\"anchor\")\n",
"\n",
"ax_open_nonstandaard.set_xticklabels(dagen_standaard, fontsize=22, rotation=-45, ha=\"left\", rotation_mode=\"anchor\")"
2022-05-24 18:02:20 +02:00
]
},
{
"cell_type": "code",
"execution_count": 210,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead tr th {\n",
" text-align: left;\n",
" }\n",
"\n",
" .dataframe thead tr:last-of-type th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr>\n",
" <th></th>\n",
" <th colspan=\"12\" halign=\"left\">aantal</th>\n",
" </tr>\n",
" <tr>\n",
" <th>staffel</th>\n",
" <th colspan=\"2\" halign=\"left\">1; 0-10.000 stemgerechtigden</th>\n",
" <th colspan=\"2\" halign=\"left\">2; 10.000-30.000 stemgerechtigden</th>\n",
" <th colspan=\"2\" halign=\"left\">3; 30.000-60.000 stemgerechtigden</th>\n",
" <th colspan=\"2\" halign=\"left\">4; 60.000-100.000 stemgerechtigden</th>\n",
" <th colspan=\"2\" halign=\"left\">5; 100.000-350.000 stemgerechtigden</th>\n",
" <th colspan=\"2\" halign=\"left\">6; &gt;350.000 stemgerechtigden</th>\n",
" </tr>\n",
" <tr>\n",
" <th>standaard</th>\n",
" <th>True</th>\n",
" <th>False</th>\n",
" <th>True</th>\n",
" <th>False</th>\n",
" <th>True</th>\n",
" <th>False</th>\n",
" <th>True</th>\n",
" <th>False</th>\n",
" <th>True</th>\n",
" <th>False</th>\n",
" <th>True</th>\n",
" <th>False</th>\n",
" </tr>\n",
" <tr>\n",
" <th>dag</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>14 maart</th>\n",
" <td>28</td>\n",
" <td>0</td>\n",
" <td>446</td>\n",
" <td>16</td>\n",
" <td>392</td>\n",
" <td>12</td>\n",
" <td>213</td>\n",
" <td>3</td>\n",
" <td>226</td>\n",
" <td>13</td>\n",
" <td>151</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15 maart</th>\n",
" <td>31</td>\n",
" <td>4</td>\n",
" <td>449</td>\n",
" <td>17</td>\n",
" <td>388</td>\n",
" <td>17</td>\n",
" <td>213</td>\n",
" <td>2</td>\n",
" <td>202</td>\n",
" <td>16</td>\n",
" <td>151</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16 maart</th>\n",
" <td>129</td>\n",
" <td>3</td>\n",
" <td>2242</td>\n",
" <td>103</td>\n",
" <td>2328</td>\n",
" <td>68</td>\n",
" <td>1051</td>\n",
" <td>29</td>\n",
" <td>1456</td>\n",
" <td>39</td>\n",
" <td>1015</td>\n",
" <td>5</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" aantal \\\n",
"staffel 1; 0-10.000 stemgerechtigden \n",
"standaard True False \n",
"dag \n",
"14 maart 28 0 \n",
"15 maart 31 4 \n",
"16 maart 129 3 \n",
"\n",
" \\\n",
"staffel 2; 10.000-30.000 stemgerechtigden \n",
"standaard True False \n",
"dag \n",
"14 maart 446 16 \n",
"15 maart 449 17 \n",
"16 maart 2242 103 \n",
"\n",
" \\\n",
"staffel 3; 30.000-60.000 stemgerechtigden \n",
"standaard True False \n",
"dag \n",
"14 maart 392 12 \n",
"15 maart 388 17 \n",
"16 maart 2328 68 \n",
"\n",
" \\\n",
"staffel 4; 60.000-100.000 stemgerechtigden \n",
"standaard True False \n",
"dag \n",
"14 maart 213 3 \n",
"15 maart 213 2 \n",
"16 maart 1051 29 \n",
"\n",
" \\\n",
"staffel 5; 100.000-350.000 stemgerechtigden \n",
"standaard True False \n",
"dag \n",
"14 maart 226 13 \n",
"15 maart 202 16 \n",
"16 maart 1456 39 \n",
"\n",
" \n",
"staffel 6; >350.000 stemgerechtigden \n",
"standaard True False \n",
"dag \n",
"14 maart 151 1 \n",
"15 maart 151 1 \n",
"16 maart 1015 5 "
]
},
"execution_count": 210,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
2022-06-10 14:00:12 +02:00
"df_open_standaard_full.pivot(index='dag', columns=['staffel', 'standaard'], values=['aantal'])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
2022-06-10 14:00:12 +02:00
"Even snel met een spreadsheet berekende percentages:\n",
"\n",
"Staffel 1\t\t2\t\t3\t\t4\t\t5\t\t6\t\t\tNL\n",
"\n",
"14 maart\t0.0\t\t3.5\t\t3.0\t\t1.4\t\t5.4\t\t0.7\t\t\t3.0\n",
"\n",
"15 maart\t11.4\t\t3.6\t\t4.2\t\t0.9\t\t7.3\t\t0.7\t\t\t3.8\n",
"\n",
"16 maart\t2.3\t\t4.4\t\t2.8\t\t2.7\t\t2.6\t\t0.5\t\t\t2.9"
]
},
2022-07-11 16:29:43 +02:00
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Openingstijden in een lopende barchart grafiek, elke nieuwe grafiek is een andere staffel."
]
},
{
"cell_type": "code",
"execution_count": 211,
2022-05-04 13:24:29 +02:00
"metadata": {
"scrolled": false
},
2022-04-14 15:43:51 +02:00
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
2022-05-20 18:54:23 +02:00
"Open op 14 maart groep 1; 0-10.000 stemgerechtigden: 0\n",
"Open op 15 maart groep 1; 0-10.000 stemgerechtigden: 5\n",
"Open op 16 maart groep 1; 0-10.000 stemgerechtigden: 98\n",
2022-05-20 18:54:23 +02:00
"Open op 14 én 15 maart groep 1; 0-10.000 stemgerechtigden: 0\n",
"Open op 14 én 16 maart groep 1; 0-10.000 stemgerechtigden: 4\n",
"Open op 15 én 16 maart groep 1; 0-10.000 stemgerechtigden: 6\n",
"Open op 14, 15 én 16 maart groep 1; 0-10.000 stemgerechtigden: 24\n",
"Aantal stemlokalen open op standaard tijden 16 Maart in staffel 1; 0-10.000 stemgerechtigden: 28\n",
"Open op 14 maart groep 2; 10.000-30.000 stemgerechtigden: 10\n",
"Open op 15 maart groep 2; 10.000-30.000 stemgerechtigden: 6\n",
"Open op 16 maart groep 2; 10.000-30.000 stemgerechtigden: 1877\n",
2022-05-20 18:54:23 +02:00
"Open op 14 én 15 maart groep 2; 10.000-30.000 stemgerechtigden: 5\n",
"Open op 14 én 16 maart groep 2; 10.000-30.000 stemgerechtigden: 13\n",
"Open op 15 én 16 maart groep 2; 10.000-30.000 stemgerechtigden: 21\n",
"Open op 14, 15 én 16 maart groep 2; 10.000-30.000 stemgerechtigden: 434\n",
"Aantal stemlokalen open op standaard tijden 16 Maart in staffel 2; 10.000-30.000 stemgerechtigden: 442\n",
"Open op 14 maart groep 3; 30.000-60.000 stemgerechtigden: 16\n",
"Open op 15 maart groep 3; 30.000-60.000 stemgerechtigden: 16\n",
"Open op 16 maart groep 3; 30.000-60.000 stemgerechtigden: 2002\n",
2022-05-20 18:54:23 +02:00
"Open op 14 én 15 maart groep 3; 30.000-60.000 stemgerechtigden: 6\n",
"Open op 14 én 16 maart groep 3; 30.000-60.000 stemgerechtigden: 11\n",
"Open op 15 én 16 maart groep 3; 30.000-60.000 stemgerechtigden: 12\n",
"Open op 14, 15 én 16 maart groep 3; 30.000-60.000 stemgerechtigden: 371\n",
"Aantal stemlokalen open op standaard tijden 16 Maart in staffel 3; 30.000-60.000 stemgerechtigden: 378\n",
"Open op 14 maart groep 4; 60.000-100.000 stemgerechtigden: 9\n",
"Open op 15 maart groep 4; 60.000-100.000 stemgerechtigden: 3\n",
"Open op 16 maart groep 4; 60.000-100.000 stemgerechtigden: 869\n",
2022-05-20 18:54:23 +02:00
"Open op 14 én 15 maart groep 4; 60.000-100.000 stemgerechtigden: 1\n",
"Open op 14 én 16 maart groep 4; 60.000-100.000 stemgerechtigden: 0\n",
"Open op 15 én 16 maart groep 4; 60.000-100.000 stemgerechtigden: 5\n",
"Open op 14, 15 én 16 maart groep 4; 60.000-100.000 stemgerechtigden: 206\n",
"Aantal stemlokalen open op standaard tijden 16 Maart in staffel 4; 60.000-100.000 stemgerechtigden: 205\n",
"Open op 14 maart groep 5; 100.000-350.000 stemgerechtigden: 29\n",
2022-05-20 18:54:23 +02:00
"Open op 15 maart groep 5; 100.000-350.000 stemgerechtigden: 8\n",
"Open op 16 maart groep 5; 100.000-350.000 stemgerechtigden: 1285\n",
2022-05-20 18:54:23 +02:00
"Open op 14 én 15 maart groep 5; 100.000-350.000 stemgerechtigden: 0\n",
"Open op 14 én 16 maart groep 5; 100.000-350.000 stemgerechtigden: 0\n",
"Open op 15 én 16 maart groep 5; 100.000-350.000 stemgerechtigden: 0\n",
"Open op 14, 15 én 16 maart groep 5; 100.000-350.000 stemgerechtigden: 210\n",
"Aantal stemlokalen open op standaard tijden 16 Maart in staffel 5; 100.000-350.000 stemgerechtigden: 208\n",
2022-05-20 18:54:23 +02:00
"Open op 14 maart groep 6; >350.000 stemgerechtigden: 0\n",
"Open op 15 maart groep 6; >350.000 stemgerechtigden: 0\n",
"Open op 16 maart groep 6; >350.000 stemgerechtigden: 868\n",
2022-05-20 18:54:23 +02:00
"Open op 14 én 15 maart groep 6; >350.000 stemgerechtigden: 0\n",
"Open op 14 én 16 maart groep 6; >350.000 stemgerechtigden: 0\n",
"Open op 15 én 16 maart groep 6; >350.000 stemgerechtigden: 0\n",
"Open op 14, 15 én 16 maart groep 6; >350.000 stemgerechtigden: 152\n",
"Aantal stemlokalen open op standaard tijden 16 Maart in staffel 6; >350.000 stemgerechtigden: 151\n",
" Openingstijden UUID Staffel\n",
"Openingstijden \n",
"2022-03-14 07:30:00 28 28 1; 0-10.000 stemgerechtigden\n",
"2022-03-14 08:00:00 28 28 1; 0-10.000 stemgerechtigden\n",
"2022-03-14 08:30:00 28 28 1; 0-10.000 stemgerechtigden\n",
"2022-03-14 09:00:00 28 28 1; 0-10.000 stemgerechtigden\n",
"2022-03-14 09:30:00 28 28 1; 0-10.000 stemgerechtigden\n",
"... ... ... ...\n",
"2022-03-16 19:00:00 1019 1019 6; >350.000 stemgerechtigden\n",
"2022-03-16 19:30:00 1019 1019 6; >350.000 stemgerechtigden\n",
"2022-03-16 20:00:00 1019 1019 6; >350.000 stemgerechtigden\n",
"2022-03-16 20:30:00 1019 1019 6; >350.000 stemgerechtigden\n",
"2022-03-16 21:00:00 1017 1017 6; >350.000 stemgerechtigden\n",
2022-05-20 18:54:23 +02:00
"\n",
"[762 rows x 3 columns]\n"
]
},
2022-04-14 15:43:51 +02:00
{
"data": {
"text/plain": [
2022-05-04 13:24:29 +02:00
"<Figure size 936x936 with 0 Axes>"
2022-04-14 15:43:51 +02:00
]
},
"metadata": {},
2022-05-03 13:06:50 +02:00
"output_type": "display_data"
2022-04-14 15:43:51 +02:00
},
{
"data": {
2022-07-11 16:29:43 +02:00
"image/png": "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
2022-04-20 13:03:38 +02:00
"text/plain": [
2022-05-04 13:24:29 +02:00
"<Figure size 1800x1800 with 1 Axes>"
2022-04-20 13:03:38 +02:00
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
2022-04-26 14:07:35 +02:00
},
{
2022-04-20 13:03:38 +02:00
"data": {
"text/plain": [
2022-05-04 13:24:29 +02:00
"<Figure size 936x936 with 0 Axes>"
2022-05-03 13:06:50 +02:00
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
2022-07-11 16:29:43 +02:00
"image/png": "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
2022-05-03 13:06:50 +02:00
"text/plain": [
2022-05-04 13:24:29 +02:00
"<Figure size 1800x1800 with 1 Axes>"
2022-05-03 13:06:50 +02:00
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
2022-05-04 13:24:29 +02:00
"<Figure size 936x936 with 0 Axes>"
2022-05-03 13:06:50 +02:00
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
2022-07-11 16:29:43 +02:00
"image/png": "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
2022-05-03 13:06:50 +02:00
"text/plain": [
2022-05-04 13:24:29 +02:00
"<Figure size 1800x1800 with 1 Axes>"
2022-05-03 13:06:50 +02:00
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
2022-05-04 13:24:29 +02:00
"<Figure size 936x936 with 0 Axes>"
2022-05-03 13:06:50 +02:00
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
2022-07-11 16:29:43 +02:00
"image/png": "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
2022-05-03 13:06:50 +02:00
"text/plain": [
2022-05-04 13:24:29 +02:00
"<Figure size 1800x1800 with 1 Axes>"
2022-05-03 13:06:50 +02:00
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
2022-05-04 13:24:29 +02:00
"<Figure size 936x936 with 0 Axes>"
2022-05-03 13:06:50 +02:00
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
2022-07-11 16:29:43 +02:00
"image/png": "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
2022-05-03 13:06:50 +02:00
"text/plain": [
2022-05-04 13:24:29 +02:00
"<Figure size 1800x1800 with 1 Axes>"
2022-05-03 13:06:50 +02:00
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
2022-05-04 13:24:29 +02:00
"<Figure size 936x936 with 0 Axes>"
2022-05-03 13:06:50 +02:00
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
2022-07-11 16:29:43 +02:00
"image/png": "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
2022-05-03 13:06:50 +02:00
"text/plain": [
2022-05-04 13:24:29 +02:00
"<Figure size 1800x1800 with 1 Axes>"
2022-04-20 13:03:38 +02:00
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
2022-05-20 18:54:23 +02:00
"wims_datestack_grouped = pd.DataFrame()\n",
2022-05-09 18:30:16 +02:00
"def make_graphs_opening(label):\n",
" df_stemger_label = df_stemger_clean[df_stemger_clean['binned'].str.fullmatch(label)]\n",
2022-05-09 18:30:16 +02:00
" #df_stemger_label.head()\n",
2022-05-03 13:06:50 +02:00
" graph_wims = filter_binned(gdf_wims_dedupe, df_stemger_label)\n",
" graph_wims_split = filter_binned(gdf_wims_split, df_stemger_label)\n",
" plot_opening(graph_wims_split, label)\n",
" \n",
2022-05-09 18:30:16 +02:00
" \n",
"for label in labels:\n",
2022-05-20 18:54:23 +02:00
" make_graphs_opening(label)\n",
"\n",
"print(wims_datestack_grouped)"
2022-05-09 18:30:16 +02:00
]
},
{
"cell_type": "code",
"execution_count": 212,
"metadata": {},
"outputs": [],
"source": [
"wims_datestack_grouped.drop('Openingstijden', axis=1, inplace=True)\n",
"wims_datestack_grouped.reset_index(inplace=True)\n"
]
},
{
"cell_type": "code",
"execution_count": 213,
"metadata": {},
"outputs": [],
"source": [
"def graph_open_stacked(df):\n",
" wims_pivot = df.pivot_table(index='Openingstijden', columns='Staffel', values='UUID', aggfunc='sum')\n",
"\n",
" ax_open_opening = wims_pivot.plot(kind=\"bar\", width=1, stacked=True, fontsize=22, figsize=(40,40), log=True)\n",
"\n",
"\n",
" xticks = pd.date_range(start=df.Openingstijden.min(), end=df.Openingstijden.max(), freq=\"30min\")\n",
" xticklabels = []\n",
" tickcount = 0\n",
" for tick in xticks:\n",
" if (tickcount % 6 == 0):\n",
" xticklabels.append(tick.strftime(\"%d-%m %H:%M\"))\n",
" else:\n",
" xticklabels.append(\" \")\n",
" tickcount += 1\n",
"\n",
"\n",
" ax_open_opening.set_xticklabels(xticklabels, fontsize=22, rotation=-45, ha=\"left\", rotation_mode=\"anchor\")\n"
]
},
2022-07-11 16:29:43 +02:00
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Alles stacked in plaats van met aparte grafieken."
]
},
{
"cell_type": "code",
"execution_count": 214,
2022-05-20 18:54:23 +02:00
"metadata": {},
"outputs": [
{
"data": {
2022-07-11 16:29:43 +02:00
"image/png": "iVBORw0KGgoAAAANSUhEUgAACUcAAAkPCAYAAABYbqlIAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAAsTAAALEwEAmpwYAAEAAElEQVR4nOzdeZiWZd0//vcNCC4guKaBpjaGMDCM7KSiqCNLiFGuaeJC7mH2ZNI3tU0Ln3xMRY00SzQTChfMXHDjcUmRxcEFUDRJQR5TFARcWLx/fxD3T1ZxY/D29ToOjuG+rvP8nJ/zmhn8w/dxXoVisRgAAAAAAAAAAIByU6+uGwAAAAAAAAAAAPg0CEcBAAAAAAAAAABlSTgKAAAAAAAAAAAoS8JRAAAAAAAAAABAWRKOAgAAAAAAAAAAypJwFAAAAAAAAAAAUJYa1HUDn4att966uNNOO9V1GwAAAAAAAAAAsFoTJ058rVgsblPXfZS7sgxH7bTTTpkwYUJdtwEAAAAAAAAAAKtVKBT+Vdc9fB54rR4AAAAAAAAAAFCWhKMAAAAAAAAAAICyJBwFAAAAAAAAAACUpQZ13cD6snjx4sycOTPvvPNOXbcCn3sbb7xxWrRokY022qiuWwEAAAAAAAAAytjnJhw1c+bMNGnSJDvttFMKhUJdtwOfW8ViMXPmzMnMmTOz884713U7AAAAAAAAAEAZ+9y8Vu+dd97JVlttJRgFdaxQKGSrrbZyihsAAAAAAAAA8Kn73ISjkghGwQbC7yIAAAAAAAAAsD58rsJRbDjOP//8VFZWpqqqKtXV1Rk3blwuvvjivPXWWx8498EHH0xlZWWqq6vz9ttv58wzz0xlZWXOPPPMNc655pprctppp32SWwAAAAAAAAAAYAPXoK4b4PPnkUceyW233ZZJkyalUaNGee2117Jo0aIcdthhOeqoo7Lpppuudf7111+fH/3oRznqqKOSJFdeeWVef/311K9ff320DwAAAAAAAADAZ4STo1jvZs+ena233jqNGjVKkmy99dYZNWpUXn755fTo0SM9evRIkpx88snp2LFjKisr85Of/CRJ8vvf/z5/+ctfcs455+TII49Mv379smDBgnTo0CEjR47Mq6++mm9+85vp1KlTOnXqlIcffrjO9gkAAAAAAAAAQN1ychTr3QEHHJCf//zn+cpXvpL9998/hx12WAYNGpSLLroo999/f7beeusky169t+WWW2bp0qXZb7/98sQTT2TgwIF56KGH0rdv3xx88MFJksaNG6e2tjZJ8q1vfStnnHFG9txzz7z44ovp2bNnpk6dWldbBQAAAAAAAACgDglHsd41btw4EydOzIMPPpj7778/hx12WIYMGbLKuL/85S+58sors2TJksyePTtTpkxJVVXVWmvfc889mTJlSunzm2++mQULFnziewAAAAAAAAAAYMMnHEWdqF+/fvbZZ5/ss88+adu2bYYPH77C/RdeeCEXXnhhxo8fny222CLHHHNM3nnnnQ+s+9577+XRRx/Nxhtv/Gm1DgAAAAAAAADAZ0S9um6Az59nnnkm06dPL32ura3Nl770pTRp0iTz589PsuzEp8022yxNmzbNK6+8kjvuuGOdah9wwAEZOnToCrUBAAAAAAAAAPh8cnIU692CBQvy3e9+N3Pnzk2DBg1SUVGRK6+8MjfccEN69eqVL37xi7n//vuz++67Z7fddssOO+yQPfbYY51qX3rppTn11FNTVVWVJUuWpHv37hk2bNinvCMAAAAAAAAAADZEhWKxWNc9fOI6duxYnDBhwgrXpk6dmlatWtVRR8DK/E4CAAAAAAAA8HlWKBQmFovFjnXdR7nzWj0AAAAAAAAAAKAsCUcBAAAAAAAAAABlSTgKAAAAAAAAAAAoS8JRAAAAAAAAAABAWRKOAgAAAAAAAAAAypJwFAAAAAAAAAAAUJaEo9aj4447Lttuu23atGmzznN+9atfpaKiIi1btsxdd9212jHTpk1Lt27d0qhRo1x44YUr3LvzzjvTsmXLVFRUZMiQIaud/+677+awww5LRUVFunTpkhkzZnzg+utSd3XGjh2bf/zjH+s8fkOz00475bXXXlvl+sr7GjZsWK699toPVXufffbJhAkTPnaPAAAAAAAAAAAs06CuG6grOw3++ydab8aQr33gmGOOOSannXZajj766HWqOWXKlIwYMSJPP/10Xn755ey///559tlnU79+/RXGbbnllrn00ktzyy23rHB96dKlOfXUU3P33XenRYsW6dSpU/r165fWrVuvMO7qq6/OFltskeeeey4jRozIWWedlZEjR65x/STrVHd1xo4dm8aNG+erX/3qOj2DT9OSJUvSoMEn8yuw8r5OOumkT6QuAAAAAAAAAAAfnZOj1qPu3btnyy23XOX6sGHDMmzYsFWujx49OocffngaNWqUnXfeORUVFXnsscdWGbftttumU6dO2WijjVa4/thjj6WioiK77LJLGjZsmMMPPzyjR49e7ToDBgxIkhx88MG59957UywW17j+uta99NJL07p161RVVeXwww/PjBkzMmzYsPzmN79JdXV1Hnzwwbz66qv55je/mU6dOqVTp055+OGHkyQ//elPM2DAgOy111750pe+lJtuuik//OEP07Zt2/Tq1SuLFy9Oktx+++3Zbbfd0qFDhwwaNCh9+/ZNkixcuDDHHXdcOnfunN13373U3zXXXJN+/fpl3333zX777bfGcUuXLs0PfvCDtGnTJlVVVRk6dGhpX0OHDk379u3Ttm3bTJs2bbX7+ulPf1o6xWv8+PGpqqpKdXV1zjzzzNLJYW+//XYOP/zwtGrVKv3798/bb79dWmPMmDHp1q1b2rdvn0MOOSQLFixIsuzkqp/85CcrrA8AAAAAAAAAwOp9bk+O2pCs6ZShWbNmpWvXrqXPLVq0yKxZs9a57qxZs7LDDjusMH/cuHFrHdegQYM0bdo0c+bMWev661J3yJAheeGFF9KoUaPMnTs3zZo1y0knnZTGjRvnBz/4QZLkW9/6Vs4444zsueeeefHFF9OzZ89MnTo1SfL888/n/vvvz5QpU9KtW7fceOON+e///u/0798/f//739OrV6+ceOKJeeCBB7LzzjvniCOOKK19/vnnZ999980f/vCHzJ07N507d87++++fJJk0aVKeeOKJbLnllvl//+//rXbctddemxkzZqS2tjYNGjTI66+/Xqq99dZbZ9KkSbniiity4YUX5ve///0q+7r33ntL44899thcddVV6datWwYPHly6/tvf/jabbrpppk6dmieeeCLt27dPkrz22ms577zzcs8992SzzTbLBRdckIsuuijnnnvuGtcHAAAAAAAAAGBVwlF8aqqqqnLkkUfm61//er7+9a+vdsw999yTKVOmlD6/+eabpVOSevfunY022iht27bN0qVL06tXryRJ27ZtM2PGjEybNi277LJLdt555yTJEUcckSuvvDLJspOXbr311tLpTe+8805efPHFJElNTU3pBK81jbvnnnty0kknlV679/4Tv77xjW8kSTp06JCbbrpprc9g7ty5mT9/frp165ZkWRjstttuS5I88MADGTRoUOlZVVVVJUkeffTRTJkyJXvssUeSZNGiRaX5H3Z9AAAAAAAAAIDPM+GoDVjz5s3z0ksvlT7PnDkzzZs3z+WXX56rrroqybLXyn3xi1/8UPPXNK5FixZZsmRJ5s2bl6222mqt89el7t///vc88MAD+dvf/pbzzz8/Tz755Cpj3nvvvTz66KPZeOONV7nXqFGjJEm9evWy0UYbpVAolD4vWbJktXterlgs5sYbb0zLli1XuD5u3LhsttlmHzhubZb3Vb9+/Q/s46MoFoupqanJDTfcUCfrAwAAAAAAAACUi3p13QDJZZddlssuu2yV6/369cuIESPy7rvv5oUXXsj06dPTuXPnnHrqqamtrU1tbe0ag1FJ0qlTp0yfPj0vvPBCFi1alBEjRqRfv36rXWf48OFJklGjRmXfffdNoVBY4/rrUve9997LSy+9lB49euSCCy7IvHnzsmD
2022-05-20 18:54:23 +02:00
"text/plain": [
"<Figure size 2880x2880 with 1 Axes>"
2022-05-20 18:54:23 +02:00
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
2022-05-20 18:54:23 +02:00
}
],
"source": [
"graph_open_stacked(wims_datestack_grouped)"
2022-05-20 18:54:23 +02:00
]
},
{
"cell_type": "code",
"execution_count": 215,
2022-05-20 18:54:23 +02:00
"metadata": {},
"outputs": [
{
"ename": "TypeError",
"evalue": "Invalid comparison between dtype=datetime64[ns] and Timestamp",
2022-05-20 18:54:23 +02:00
"output_type": "error",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)",
"\u001b[0;32m~/.local/lib/python3.8/site-packages/pandas/core/arrays/datetimelike.py\u001b[0m in \u001b[0;36m_validate_comparison_value\u001b[0;34m(self, other)\u001b[0m\n\u001b[1;32m 535\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 536\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_check_compatible_with\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mother\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 537\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mTypeError\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mIncompatibleFrequency\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0merr\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/.local/lib/python3.8/site-packages/pandas/core/arrays/datetimes.py\u001b[0m in \u001b[0;36m_check_compatible_with\u001b[0;34m(self, other, setitem)\u001b[0m\n\u001b[1;32m 507\u001b[0m \u001b[0;32mreturn\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 508\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_assert_tzawareness_compat\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mother\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 509\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0msetitem\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/.local/lib/python3.8/site-packages/pandas/core/arrays/datetimes.py\u001b[0m in \u001b[0;36m_assert_tzawareness_compat\u001b[0;34m(self, other)\u001b[0m\n\u001b[1;32m 710\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mother_tz\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 711\u001b[0;31m raise TypeError(\n\u001b[0m\u001b[1;32m 712\u001b[0m \u001b[0;34m\"Cannot compare tz-naive and tz-aware datetime-like objects.\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;31mTypeError\u001b[0m: Cannot compare tz-naive and tz-aware datetime-like objects.",
"\nThe above exception was the direct cause of the following exception:\n",
"\u001b[0;31mInvalidComparison\u001b[0m Traceback (most recent call last)",
"\u001b[0;32m~/.local/lib/python3.8/site-packages/pandas/core/arrays/datetimelike.py\u001b[0m in \u001b[0;36m_cmp_method\u001b[0;34m(self, other, op)\u001b[0m\n\u001b[1;32m 1007\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1008\u001b[0;31m \u001b[0mother\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_validate_comparison_value\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mother\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1009\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mInvalidComparison\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/.local/lib/python3.8/site-packages/pandas/core/arrays/datetimelike.py\u001b[0m in \u001b[0;36m_validate_comparison_value\u001b[0;34m(self, other)\u001b[0m\n\u001b[1;32m 538\u001b[0m \u001b[0;31m# e.g. tzawareness mismatch\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 539\u001b[0;31m \u001b[0;32mraise\u001b[0m \u001b[0mInvalidComparison\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mother\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0merr\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 540\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;31mInvalidComparison\u001b[0m: 2022-03-14 07:30:00+00:00",
"\nDuring handling of the above exception, another exception occurred:\n",
"\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)",
"\u001b[0;32m/tmp/ipykernel_91749/3510751849.py\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m filtered_datestack_1 = wims_datestack_grouped.loc[(pd.to_datetime(wims_datestack_grouped['Openingstijden']) >= pd.to_datetime('2022-03-14T07:30:00.000Z'))\n\u001b[0m\u001b[1;32m 2\u001b[0m & (pd.to_datetime(wims_datestack_grouped['Openingstijden']) <= pd.to_datetime('2022-03-14T21:00:00.000Z'))]\n\u001b[1;32m 3\u001b[0m \u001b[0mgraph_open_stacked\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfiltered_datestack_1\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \"\"\"\n\u001b[1;32m 5\u001b[0m filtered_datestack_2 = wims_datestack_grouped.loc[(pd.to_datetime(((wims_datestack_grouped['Openingstijden'])) >= pd.to_datetime('2022-03-15T07:30:00.000Z')))\n",
"\u001b[0;32m~/.local/lib/python3.8/site-packages/pandas/core/ops/common.py\u001b[0m in \u001b[0;36mnew_method\u001b[0;34m(self, other)\u001b[0m\n\u001b[1;32m 68\u001b[0m \u001b[0mother\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mitem_from_zerodim\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mother\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 69\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 70\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mmethod\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mother\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 71\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 72\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mnew_method\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/.local/lib/python3.8/site-packages/pandas/core/arraylike.py\u001b[0m in \u001b[0;36m__ge__\u001b[0;34m(self, other)\u001b[0m\n\u001b[1;32m 58\u001b[0m \u001b[0;34m@\u001b[0m\u001b[0munpack_zerodim_and_defer\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"__ge__\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 59\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m__ge__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mother\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 60\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_cmp_method\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mother\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0moperator\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mge\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 61\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 62\u001b[0m \u001b[0;31m# -------------------------------------------------------------\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/.local/lib/python3.8/site-packages/pandas/core/series.py\u001b[0m in \u001b[0;36m_cmp_method\u001b[0;34m(self, other, op)\u001b[0m\n\u001b[1;32m 5621\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5622\u001b[0m \u001b[0;32mwith\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0merrstate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mall\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m\"ignore\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 5623\u001b[0;31m \u001b[0mres_values\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mops\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcomparison_op\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlvalues\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mrvalues\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mop\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 5624\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5625\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_construct_result\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mres_values\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mname\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mres_name\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/.local/lib/python3.8/site-packages/pandas/core/ops/array_ops.py\u001b[0m in \u001b[0;36mcomparison_op\u001b[0;34m(left, right, op)\u001b[0m\n\u001b[1;32m 267\u001b[0m ):\n\u001b[1;32m 268\u001b[0m \u001b[0;31m# Call the method on lvalues\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 269\u001b[0;31m \u001b[0mres_values\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mop\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlvalues\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mrvalues\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 270\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 271\u001b[0m \u001b[0;32melif\u001b[0m \u001b[0mis_scalar\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mrvalues\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mand\u001b[0m \u001b[0misna\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mrvalues\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;31m# TODO: but not pd.NA?\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/.local/lib/python3.8/site-packages/pandas/core/ops/common.py\u001b[0m in \u001b[0;36mnew_method\u001b[0;34m(self, other)\u001b[0m\n\u001b[1;32m 68\u001b[0m \u001b[0mother\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mitem_from_zerodim\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mother\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 69\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 70\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mmethod\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mother\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 71\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 72\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mnew_method\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/.local/lib/python3.8/site-packages/pandas/core/arraylike.py\u001b[0m in \u001b[0;36m__ge__\u001b[0;34m(self, other)\u001b[0m\n\u001b[1;32m 58\u001b[0m \u001b[0;34m@\u001b[0m\u001b[0munpack_zerodim_and_defer\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"__ge__\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 59\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m__ge__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mother\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 60\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_cmp_method\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mother\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0moperator\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mge\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 61\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 62\u001b[0m \u001b[0;31m# -------------------------------------------------------------\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/.local/lib/python3.8/site-packages/pandas/core/arrays/datetimelike.py\u001b[0m in \u001b[0;36m_cmp_method\u001b[0;34m(self, other, op)\u001b[0m\n\u001b[1;32m 1008\u001b[0m \u001b[0mother\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_validate_comparison_value\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mother\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1009\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mInvalidComparison\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1010\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0minvalid_comparison\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mother\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mop\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1011\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1012\u001b[0m \u001b[0mdtype\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mgetattr\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mother\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m\"dtype\"\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/.local/lib/python3.8/site-packages/pandas/core/ops/invalid.py\u001b[0m in \u001b[0;36minvalid_comparison\u001b[0;34m(left, right, op)\u001b[0m\n\u001b[1;32m 32\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 33\u001b[0m \u001b[0mtyp\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mtype\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mright\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__name__\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 34\u001b[0;31m \u001b[0;32mraise\u001b[0m \u001b[0mTypeError\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34mf\"Invalid comparison between dtype={left.dtype} and {typ}\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 35\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mres_values\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 36\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;31mTypeError\u001b[0m: Invalid comparison between dtype=datetime64[ns] and Timestamp"
2022-05-20 18:54:23 +02:00
]
}
],
"source": [
2022-07-11 16:29:43 +02:00
"#TODO: fix this\n",
"filtered_datestack_1 = wims_datestack_grouped.loc[(pd.to_datetime(wims_datestack_grouped['Openingstijden']) >= pd.to_datetime('2022-03-14T07:30:00.000Z'))\n",
" & (pd.to_datetime(wims_datestack_grouped['Openingstijden']) <= pd.to_datetime('2022-03-14T21:00:00.000Z'))]\n",
"graph_open_stacked(filtered_datestack_1)\n",
"\"\"\"\n",
"filtered_datestack_2 = wims_datestack_grouped.loc[(pd.to_datetime(((wims_datestack_grouped['Openingstijden'])) >= pd.to_datetime('2022-03-15T07:30:00.000Z')))\n",
" & (pd.to_datetime(wims_datestack_grouped['Openingstijden']) <= pd.to_datetime('2022-03-15T21:00:00.000Z'))]\n",
"graph_open_stacked(filtered_datestack_2)\n",
"filtered_datestack_3 = wims_datestack_grouped.loc[(pd.to_datetime(wims_datestack_grouped['Openingstijden']) >= pd.to_datetime('2022-03-16T07:30:00.000Z'))\n",
" & (pd.to_datetime(wims_datestack_grouped['Openingstijden']) <= pd.to_datetime('2022-03-16T21:00:00.000Z'))]\n",
"graph_open_stacked(filtered_datestack_3)\n",
"\"\"\""
2022-05-20 18:54:23 +02:00
]
},
{
"cell_type": "code",
"execution_count": 216,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"404 | 36.996336996337\n",
"229 | 20.97069597069597\n",
"115 | 10.531135531135531\n",
"91 | 8.333333333333332\n",
"80 | 7.326007326007327\n",
"53 | 4.853479853479854\n",
"39 | 3.571428571428571\n",
"28 | 2.564102564102564\n",
"27 | 2.4725274725274726\n",
"26 | 2.380952380952381\n"
]
}
],
"source": [
"list_temp = [404, 229, 115, 91, 80, 53, 39, 28, 27, 26]\n",
"\n",
"for num in list_temp:\n",
" \n",
" print(\"{} | {}\".format(num,(num / sum(list_temp) * 100)))"
]
},
{
"cell_type": "code",
"execution_count": 217,
2022-05-09 18:30:16 +02:00
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
2022-05-20 18:54:23 +02:00
"Staffel: 1; 0-10.000 stemgerechtigden\n",
"bijeenkomstfunctie 83\n",
"kantoorfunctie 26\n",
"sportfunctie 23\n",
"woonfunctie 15\n",
"overige gebruiksfunctie 12\n",
"onderwijsfunctie 10\n",
"gezondheidszorgfunctie 6\n",
"winkelfunctie 3\n",
"industriefunctie 1\n",
"Name: Gebruiksdoel van het gebouw, dtype: int64\n",
2022-05-20 18:54:23 +02:00
"Staffel: 2; 10.000-30.000 stemgerechtigden\n",
"bijeenkomstfunctie 1420\n",
"sportfunctie 456\n",
"kantoorfunctie 270\n",
"onderwijsfunctie 249\n",
"woonfunctie 213\n",
"overige gebruiksfunctie 98\n",
"gezondheidszorgfunctie 80\n",
"industriefunctie 40\n",
"winkelfunctie 37\n",
"logiesfunctie 33\n",
"Name: Gebruiksdoel van het gebouw, dtype: int64\n",
2022-05-20 18:54:23 +02:00
"Staffel: 3; 30.000-60.000 stemgerechtigden\n",
"bijeenkomstfunctie 1507\n",
"sportfunctie 436\n",
"onderwijsfunctie 284\n",
"kantoorfunctie 224\n",
"woonfunctie 185\n",
"overige gebruiksfunctie 114\n",
"gezondheidszorgfunctie 103\n",
"industriefunctie 54\n",
"winkelfunctie 34\n",
"logiesfunctie 27\n",
"celfunctie 1\n",
"Name: Gebruiksdoel van het gebouw, dtype: int64\n",
2022-05-20 18:54:23 +02:00
"Staffel: 4; 60.000-100.000 stemgerechtigden\n",
"bijeenkomstfunctie 595\n",
"sportfunctie 188\n",
"onderwijsfunctie 152\n",
"kantoorfunctie 91\n",
"woonfunctie 88\n",
"gezondheidszorgfunctie 47\n",
"overige gebruiksfunctie 44\n",
"industriefunctie 22\n",
"winkelfunctie 20\n",
"logiesfunctie 7\n",
"celfunctie 1\n",
"Name: Gebruiksdoel van het gebouw, dtype: int64\n",
2022-05-20 18:54:23 +02:00
"Staffel: 5; 100.000-350.000 stemgerechtigden\n",
"bijeenkomstfunctie 727\n",
"onderwijsfunctie 318\n",
"sportfunctie 273\n",
"kantoorfunctie 150\n",
"woonfunctie 120\n",
"overige gebruiksfunctie 66\n",
"gezondheidszorgfunctie 55\n",
"industriefunctie 49\n",
"winkelfunctie 32\n",
"logiesfunctie 12\n",
"celfunctie 1\n",
"Name: Gebruiksdoel van het gebouw, dtype: int64\n",
2022-05-20 18:54:23 +02:00
"Staffel: 6; >350.000 stemgerechtigden\n",
"bijeenkomstfunctie 404\n",
"onderwijsfunctie 229\n",
"sportfunctie 115\n",
"kantoorfunctie 91\n",
"woonfunctie 80\n",
"industriefunctie 53\n",
"overige gebruiksfunctie 39\n",
"winkelfunctie 28\n",
"gezondheidszorgfunctie 27\n",
"logiesfunctie 26\n",
"Name: Gebruiksdoel van het gebouw, dtype: int64\n"
]
},
2022-05-09 18:30:16 +02:00
{
"data": {
2022-07-11 16:29:43 +02:00
"image/png": "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
2022-05-09 18:30:16 +02:00
"text/plain": [
"<Figure size 936x936 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
2022-07-11 16:29:43 +02:00
"image/png": "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
2022-05-09 18:30:16 +02:00
"text/plain": [
"<Figure size 936x936 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
2022-07-11 16:29:43 +02:00
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAxIAAANtCAYAAAAEsE3fAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAAsTAAALEwEAmpwYAABhAUlEQVR4nO3dd5gsZZ238ftLkiAICCaiImZRETCgrq85AiYMmFHMeVdRVzGurrq66q45oYKumMAsYsaAZER0ZQkCouSsJH/vH08Np88wc84UzHTNnL4/19XXdFV1+HVNd3V9u57nqVQVkiRJktTHakMXIEmSJGnpMUhIkiRJ6s0gIUmSJKk3g4QkSZKk3gwSkiRJknozSEiSJEnqzSAhzUGS+yc5fZ4f85Ikt+qufybJ2+bhMSvJrRfL40yiPu+V6/p/T/LMJD/vX934JXlbknOS/KWbfkyS07r3/91Wct83Jfn8eCqVFkaSU5I8qMftX5fkE9fxueb9u0paEYOEJkaSJyX5dZJLk5zVXX9hkgxRT1XdsKpOGuK5V3VJNk/ylW4H9sIkv03yzG7Z1l1QWmPgMhelJHsm+X2Si5P8Ncm3k6zfLesVfJJsCbwKuENV3ayb/R7gxd37/6jrUecdkhye5Pzu8oMkd+hx/3d1geaiJKcmed205XdNckSSy7q/d13BY22c5GvdtuXUJE+Ztvwp3fxLk3w9ycZzve8sz/eyJCd39zkhyW3m8lwzPM6srzHNvyc5t7v8++i2ss/6WcHzL5lAvFBm2vGvqn+rqucMVZPUh0FCEyHJq4D3A+8GbgbcFHg+sDOw1gI83+rz/Zjq5XPAacBWwI2BpwF/HbSiJSDJPwH/Bjy5qtYHbg/8z/V4yC2Bc6vqrJF5WwHHX4/HnPJn4PHAxsAmwEHAF3vc/5PA7apqA+DewB5JHguQZC3gQODzwEbAvsCB3fyZ/DdwBW27sgfw4SR37B7rjsBHae/BmwKXAR+ay31nkuQ5wJ7AI4EbAo8Czpnjc40+zspe417AbsBdgO2ARwPPu47rZ8nzhwdpFlXlxcsqfQFuBFwKPG4lt7sB7dfSP9F2Oj8CrNMtuz9wOvA62pf2KcAeI/f9DPBh4Nvdcz0I+DHwnJHbPBP4+ch0Abceuf/buuvrAz8CPgAEeATwO+Bi4Azgn0ce41+AM2k7Vc+e9pg3Aj4LnA2cCvwrsNrIfZ8NnACcD3wP2GqW2uayXl4FnNXV8qxZ1u8TgcOnzXsFcFB3/ZHAUcBFtBDwppHbbd3V9IyujnOA16/gf3kJcNdZlv2pe6xLusu95rg+Xgj8sfs/vBXYBvhFV++XgLVG18nIfW/fvRcuoO1A7zLtfTPb/31v4P+65/sd8JgVvJduBxwMnAf8Adh92nP8N/Ct7rF+DWwzy7r5Z+DrsyzbC7iSttN7CfCNbv6MddI+A38D/tHd/gvd36J9Rv6vu90tgK/Q3qcnAy8dec43AZ+fw2d8DeBFwGUj854CHDvHbcRmwHHAq7vph9A+a5n2vnnYDPddr1sntxmZ9zngnd31fwP2H1m2TXf79Vd23xmeazXaZ+OBsyyf9blmuO0KXyPtvb3XyLI9gV/1XT8j79eTuvfIybTAdHvg78DV3fvigh7bm1ezbHuzG20b+b+09//rRp53HVrIOZ/22X41y382V/be+zItLF0EPIe2Tf1k97xnAG8DVh+5z3O755n6LGzfzT+F9tk6FriQFs7X7v7/o5+RS7qa3sTI+x54Om0bfi7whu7xHjTyGj/Tvcbf0b4T+rzGL9G+Jy6mbZ92mMtnxouXqcvgBXjxstAX4GHAVcAaK7nd+2i/am5M+5L/BvCObtn9u8d4b/dF90+0naHbdss/031B7Ez7sl+b6xAkaL+eH0a3c9ktOxO4b3d9o5Evp4fRvmjv1H0h7T/tMT9L+9VwfdqO+P8Ce3bLdgVOpH2Zr0ELGb+Ypba5rJe3AGvSvtAvAzaaYf2u231ZbTsy7zfAk0Ye687d+tuue227dcu27mr6OO2L8y7A5cDtZ/lf/gA4FHgSsOW0ZVOPtcbIvLmsjwOBDYA7ds99CHAr2s7F74BnjLyO07vra3aP+zraka8HdOtg9H0z2//9CbSdgNVoIexS4ObT30vd//404Fld7XejBa07jDzHucBO3fL9gC/Ost7uS9uxeTPtvXyDacs/M1rjHOq8Zl3M8t5aDTgCeGO3fm5F2+F8aLf8TawkSNAC2lW0nbF/7blt2Jtl4eYkYPNu/iuA70y77TeBV83wGHdjJMB08/6ZZUHrQOA105ZfAtx9Zfed4bm27Gp9Wfc/P7n7X622suea4bFW+Bpp27N7jCzbAbj4Oqyf9Wg74lPv+ZsDd5xpm9hje/NG2mfrubQd5P27296R9v69ZXf7dwI/oW03N6ftyE99Nufy3ruSFlRWo213vkY74rMecBPaZ/Z5I5+DM4AdaT8E3Jruxwjajv9htM/JxrSw8fwVfEbeRPe+B+7Q/Q/v09X5nq6uB428xp91j7sF8Nuer/HvtO326sA76MKiFy9zvdi0SZNgE+CcqrpqakaSXyS5IMnfktyva/u7F/CKqjqvqi6m/br3pGmP9YaquryqfkL7hXf3kWUHVtWhVfWPqvr7dajzFrQvvQOq6l9H5l8J3CHJBlV1flUd2c3fHfh0Vf22qi6lfSlMvb7Vu9pfW1UXV9UpwH/QmjxAa9b1jqo6oVsv/wbcNclWowXNcb1cCbylqq6sqm/TvvRuO/3FVdVltB2dJ3ePvS3tl/SDuuU/rqrjuvV3LO0X7H+a9jBvrqq/VdUxwDG0QDGTJ9C+XN8AnJzk6CQ7znLbua6Pd1XVRVV1PO3L+vtVdVJVXQh8h7ZTON09ac1P3llVV1TVD2k7XE8euc2M//eqOqCq/tytj/+hHQ3ZaYbneBRwSlV9uqquqtbv4CvdOpjytao6rHtt+wF3nWklVNXPgMcC29Pe3+cmee+Kmur1qHMmOwKbVtVbuvVzEi0sTv/czaqqNqSFuRfTjmjNWVW9k7YDuj3tSMCF3aIbjlyfcmF32+luSNtRnu22K3qsld13us27vw+hhe7/R3sv7Xkd617RbacvvxC4YbdN6PM80ELenZKsU1Vndp+ha+mxvXl7VV1Ja8q2CfD+bjt3PC3UT20Xdgf+rdtunk472jdlLu+9X1bV16vqH7QfER4BvLyqLq3WXO99I7d/Dm0b8ZtqTqyqU0ce6wPd5+Q8Wji66yzrarrH04Llz6vqClooqJHlu3fr47yqOu06vMafV9W3q+pq2mdgtm2qNCODhCbBucAmo21cq+re3Q7IubTPwaa0X8yP6ALGBcB3u/lTzu922KecStsJnHLa9azzkbRfvT4ybf7jaF9gpyb5SZJ7dfNvMe05R7+0NqH9YnfqtOWbdde3At4/8lrPo/2KthnLm8t6OXc0pNGOSNxwlte4P8t2op9Ca0ZzGUCSeyT5UZKzk1xI27nfZNr9/zKX5+l2HPauqjvS2oofDXx9tLPoNHNZH6N9LP42w/RMtdwCOK3bEZky+n+AWf7vSZ7eBaCpmu7EtdfHVO33mLpdd9s9aH2BpsxpvQFU1Xeq6tG0Xzh3pf1qPGvHzx51zmQr4BbTan8d7X82Z93n8iPAZ5PcpOd9qwtfU0dioIXhDabddAPa0aTpVnbbFS1f4X2THJ82utUlSaaOFkHbYb2g+4Hgo7Ttw0LXvQFwSVVVn+fp/jdPpH2ez0zyrSS3m6EemPv25uru+tT6mO2zOH0bOXp9Lu+96bdfs3sNU7f/KO3IBLSjAf83y+uCHp/BaZZ7Dd328tzZlrP8Nn8ur3F6XWvbH0R9GCQ0CX5Ja4qy6wpucw7tC+iOVbVhd7lRVY1u7DdKst7I9Ja0vglTRn8lgtbEY92R6ZuxYh+nfWl+e/R5ul+4dqV9YX2d1qYVWpOnLabVM/p6rqR9kYwuP6O7fhrtkPyGI5d1quoX02qay3rp42Bg026ElyfTgsWU/WlHJ7aoqhvRdgyv94haVXUOrTnAVLOC6f8nmPv66OvPwBZJRre1o/8HmOH/3h0J+TjtV/Y
2022-05-09 18:30:16 +02:00
"text/plain": [
"<Figure size 936x936 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
2022-07-11 16:29:43 +02:00
"image/png": "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
2022-05-09 18:30:16 +02:00
"text/plain": [
"<Figure size 936x936 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
2022-07-11 16:29:43 +02:00
"image/png": "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
2022-05-09 18:30:16 +02:00
"text/plain": [
"<Figure size 936x936 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
2022-07-11 16:29:43 +02:00
"image/png": "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
2022-05-09 18:30:16 +02:00
"text/plain": [
"<Figure size 936x936 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"def make_graphs_use(label):\n",
" df_stemger_label = df_stemger_clean[df_stemger_clean['binned'].str.fullmatch(label)]\n",
2022-05-09 18:30:16 +02:00
" plot_use(filter_binned(gdf_wims_dedupe, df_stemger_label), label)\n",
"\n",
"for label in labels:\n",
" make_graphs_use(label)"
]
},
{
"cell_type": "code",
"execution_count": 218,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Open op 14 maart groep totaal: 64\n",
"Open op 15 maart groep totaal: 38\n",
"Open op 16 maart groep totaal: 6999\n",
"Open op 14 én 15 maart groep totaal: 12\n",
"Open op 14 én 16 maart groep totaal: 28\n",
"Open op 15 én 16 maart groep totaal: 44\n",
"Open op 14, 15 én 16 maart groep totaal: 1397\n",
"Aantal stemlokalen open op standaard tijden 16 Maart in staffel totaal: 1412\n"
]
},
{
"data": {
"text/plain": [
"<Figure size 936x936 with 0 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
2022-07-11 16:29:43 +02:00
"image/png": "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
"text/plain": [
"<Figure size 1800x1800 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plot_opening(gdf_wims_split, \"totaal\")"
]
},
{
"cell_type": "code",
"execution_count": 219,
2022-05-09 18:30:16 +02:00
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Staffel: totaal\n",
"bijeenkomstfunctie 4736\n",
"sportfunctie 1491\n",
"onderwijsfunctie 1242\n",
"kantoorfunctie 852\n",
"woonfunctie 701\n",
"overige gebruiksfunctie 373\n",
"gezondheidszorgfunctie 318\n",
"industriefunctie 219\n",
"winkelfunctie 154\n",
"logiesfunctie 105\n",
"celfunctie 3\n",
"Name: Gebruiksdoel van het gebouw, dtype: int64\n"
]
},
2022-05-09 18:30:16 +02:00
{
"data": {
2022-07-11 16:29:43 +02:00
"image/png": "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
"text/plain": [
"<Figure size 936x936 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plot_use(gdf_wims_dedupe, \"totaal\")"
]
},
{
"cell_type": "code",
"execution_count": 220,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
2022-05-20 18:54:23 +02:00
"2; 10.000-30.000 stemgerechtigden 170\n",
"3; 30.000-60.000 stemgerechtigden 92\n",
"1; 0-10.000 stemgerechtigden 25\n",
"4; 60.000-100.000 stemgerechtigden 24\n",
"5; 100.000-350.000 stemgerechtigden 19\n",
"6; >350.000 stemgerechtigden 3\n",
"Name: binned, dtype: int64\n"
]
}
],
"source": [
" print(df_stemger_clean['binned'].value_counts())"
]
},
{
"cell_type": "code",
"execution_count": 221,
"metadata": {},
"outputs": [
{
"data": {
2022-07-11 16:29:43 +02:00
"image/png": "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
2022-05-09 18:30:16 +02:00
"text/plain": [
"<Figure size 936x936 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"<Figure size 936x936 with 0 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
2022-07-11 16:29:43 +02:00
"image/png": "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
2022-05-09 18:30:16 +02:00
"text/plain": [
"<Figure size 936x936 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
2022-07-11 16:29:43 +02:00
"image/png": "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
2022-05-09 18:30:16 +02:00
"text/plain": [
"<Figure size 936x936 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"<Figure size 936x936 with 0 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
2022-07-11 16:29:43 +02:00
"image/png": "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
2022-05-09 18:30:16 +02:00
"text/plain": [
"<Figure size 936x936 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
2022-07-11 16:29:43 +02:00
"image/png": "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
2022-05-09 18:30:16 +02:00
"text/plain": [
"<Figure size 936x936 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"<Figure size 936x936 with 0 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
2022-07-11 16:29:43 +02:00
"image/png": "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
2022-05-09 18:30:16 +02:00
"text/plain": [
"<Figure size 936x936 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
2022-07-11 16:29:43 +02:00
"image/png": "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
2022-05-09 18:30:16 +02:00
"text/plain": [
"<Figure size 936x936 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"<Figure size 936x936 with 0 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
2022-07-11 16:29:43 +02:00
"image/png": "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
2022-05-09 18:30:16 +02:00
"text/plain": [
"<Figure size 936x936 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
2022-07-11 16:29:43 +02:00
"image/png": "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
2022-05-09 18:30:16 +02:00
"text/plain": [
"<Figure size 936x936 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"<Figure size 936x936 with 0 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
2022-07-11 16:29:43 +02:00
"image/png": "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
2022-05-09 18:30:16 +02:00
"text/plain": [
"<Figure size 936x936 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
2022-07-11 16:29:43 +02:00
"image/png": "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
2022-05-09 18:30:16 +02:00
"text/plain": [
"<Figure size 936x936 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"<Figure size 936x936 with 0 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
2022-07-11 16:29:43 +02:00
"image/png": "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
2022-05-09 18:30:16 +02:00
"text/plain": [
"<Figure size 936x936 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"def make_graphs_dist(label):\n",
" df_stemger_label = df_stemger_clean[df_stemger_clean['binned'].str.fullmatch(label)]\n",
2022-05-09 18:30:16 +02:00
" plot_dist(filter_binned(df_nearest, df_stemger_label), label)\n",
"\n",
2022-05-03 13:06:50 +02:00
"for label in labels:\n",
2022-05-12 13:24:22 +02:00
" make_graphs_dist(label)\n",
" "
]
},
{
"cell_type": "code",
"execution_count": 223,
2022-05-12 13:24:22 +02:00
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Gemiddelde afstand tot stemlokaal totaal: 409.3873444429337\n",
"['crs28992res500m', 'aantal_inwoners', 'stedelijkheid', 'geometry', 'savedindex', 'GM_CODE', 'Unnamed: 0', '_id', 'Gemeente', 'gemeentecode', 'Nummer stembureau', 'Naam stembureau', 'Gebruiksdoel van het gebouw', 'Website locatie', 'Wijknaam', 'CBS wijknummer', 'Buurtnaam', 'CBS buurtnummer', 'BAG Nummeraanduiding ID', 'Straatnaam', 'Huisnummer', 'Huisletter', 'Huisnummertoevoeging', 'Postcode', 'Plaats', 'Extra adresaanduiding', 'X', 'Y', 'Latitude', 'Longitude', 'Openingstijden 14-03-2022', 'Openingstijden 15-03-2022', 'Openingstijden 16-03-2022', 'Toegankelijk voor mensen met een lichamelijke beperking', 'Akoestiek', 'Auditieve hulpmiddelen', 'Visuele hulpmiddelen', 'Gehandicaptentoilet', 'Kieskring ID', 'Hoofdstembureau', 'Tellocatie', 'Contactgegevens gemeente', 'Verkiezingswebsite gemeente', 'Verkiezingen', 'ID', 'UUID', 'dist']\n"
2022-05-12 13:24:22 +02:00
]
},
{
"data": {
"text/plain": [
"binned\n",
"1; 0-10.000 stemgerechtigden 552.923785\n",
"2; 10.000-30.000 stemgerechtigden 522.477620\n",
"3; 30.000-60.000 stemgerechtigden 444.818697\n",
"4; 60.000-100.000 stemgerechtigden 393.684728\n",
"5; 100.000-350.000 stemgerechtigden 332.724885\n",
"6; >350.000 stemgerechtigden 229.448504\n",
2022-05-12 13:24:22 +02:00
"dtype: float64"
]
},
"execution_count": 223,
2022-05-12 13:24:22 +02:00
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"def w_avg(df, values, weights):\n",
" d = df[values]\n",
" w = df[weights]\n",
" return (d * w).sum() / w.sum()\n",
"print(\"Gemiddelde afstand tot stemlokaal totaal: {}\".format(w_avg(df_nearest, \"dist\", \"aantal_inwoners\")))\n",
"\n",
"df_nearest_rename = df_nearest.rename(columns = {'CBS gemeentecode': 'gemeentecode'})\n",
"print(list(df_nearest_rename))\n",
"df_nearest_merged = pd.merge(df_nearest_rename, df_stemger_clean, on=['gemeentecode'])\n",
"df_nearest_merged.groupby('binned').apply(w_avg, 'dist', 'aantal_inwoners')"
]
},
{
"cell_type": "code",
"execution_count": 224,
2022-05-12 13:24:22 +02:00
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"311.3155650195399\n",
2022-05-12 13:24:22 +02:00
"binned\n",
"1; 0-10.000 stemgerechtigden 404.478303\n",
"2; 10.000-30.000 stemgerechtigden 374.936689\n",
"3; 30.000-60.000 stemgerechtigden 343.527157\n",
"4; 60.000-100.000 stemgerechtigden 310.750995\n",
"5; 100.000-350.000 stemgerechtigden 285.198691\n",
"6; >350.000 stemgerechtigden 210.261699\n",
2022-05-12 13:24:22 +02:00
"dtype: float64\n"
]
}
],
"source": [
"def weighted_median(df, val, weight):\n",
" df_sorted = df.sort_values(val)\n",
" cumsum = df_sorted[weight].cumsum()\n",
" cutoff = df_sorted[weight].sum() / 2.\n",
" return df_sorted[cumsum >= cutoff][val].iloc[0]\n",
"\n",
2022-05-16 16:11:50 +02:00
"print(weighted_median(df_nearest_merged, 'dist', 'aantal_inwoners'))\n",
2022-05-12 13:24:22 +02:00
"\n",
"print(df_nearest_merged.groupby('binned').apply(weighted_median, 'dist', 'aantal_inwoners'))"
]
},
{
"cell_type": "code",
"execution_count": 225,
2022-05-16 16:11:50 +02:00
"metadata": {},
"outputs": [],
"source": [
"#df_nearest_merged['New']=df_nearest_merged[['aantal_inwoners','r2']].apply(tuple ,1);df_nearest_merged.groupby(['binned']).New.value_counts().reindex(pd.MultiIndex.from_frame(df_nearest_merged[['binned','New']])).values\n",
"\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 226,
2022-05-12 13:24:22 +02:00
"metadata": {},
"outputs": [
{
"data": {
2022-07-11 16:29:43 +02:00
"image/png": "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
2022-05-12 13:24:22 +02:00
"text/plain": [
"<Figure size 936x936 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"<Figure size 936x936 with 0 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
2022-07-11 16:29:43 +02:00
"image/png": "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
2022-05-12 13:24:22 +02:00
"text/plain": [
"<Figure size 936x936 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plot_dist(df_nearest, \"totaal\")"
]
},
2022-05-09 20:02:13 +02:00
{
"cell_type": "code",
"execution_count": 227,
2022-05-09 20:02:13 +02:00
"metadata": {},
"outputs": [],
2022-05-09 20:02:13 +02:00
"source": [
"def print_type(df, label):\n",
" # 'Naam stembureu' en 'Extra adresaanduiding' moeten 'mobiel' bevatten, maar 'Extra adresaanduiding' mag niet\n",
" # ook 'niet open voor algemeen publiek' bevatten\n",
" print(\"aantal mobiele stemlokalen groep {}: {}\".format(\n",
" label,\n",
" df[\n",
" ((df[\"Naam stembureau\"].str.contains(\"mobiel\", case=False)) | (df[\"Extra adresaanduiding\"].str.contains(\"mobiel\", case=False, na=False)))\n",
" &\n",
" ~(df[\"Extra adresaanduiding\"].str.contains(\"niet open voor algemeen publiek\", case=False, na=False)\n",
" )\n",
" ][\"Naam stembureau\"].count()\n",
" ))\n",
" print(\"aantal drive through stemlokalen groep {}: {}\".format(label, df[(df[\"Naam stembureau\"].str.contains(\"drive\", case=False)) | (df[\"Extra adresaanduiding\"].str.contains(\"drive\", case=False))][\"Naam stembureau\"].count()))\n",
" df_publiek = df.dropna(subset=['Extra adresaanduiding'])\n",
" print(\"aantal niet publiek open stemlokalen groep {}: {}\".format(label, df_publiek[df_publiek[\"Extra adresaanduiding\"].str.contains(\"niet open voor algemeen publiek\", case=False)][\"Extra adresaanduiding\"].count()))\n",
" print(\"aantal tent stemlokalen groep {}: {}\".format(label, df[(df[\"Naam stembureau\"].str.contains(\"tent\", case=False)) | (df[\"Extra adresaanduiding\"].str.contains(\"tent\", case=False))][\"Naam stembureau\"].count()))\n",
" print(\"aantal parkeerplaats stemlokalen groep {}: {}\".format(label, df[(df[\"Naam stembureau\"].str.contains(\"parkeer\", case=False)) | (df[\"Extra adresaanduiding\"].str.contains(\"parkeer\", case=False))][\"Naam stembureau\"].count()))\n",
" print(\"aantal bus stemlokalen groep {}: {}\".format(label, df[(df[\"Naam stembureau\"].str.contains(\"bus\", case=False)) | (df[\"Extra adresaanduiding\"].str.contains(\"bus\", case=False))][\"Naam stembureau\"].count()))"
2022-05-09 20:02:13 +02:00
]
},
{
"cell_type": "code",
"execution_count": 228,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"aantal mobiele stemlokalen groep totaal: 111\n",
"aantal drive through stemlokalen groep totaal: 39\n",
"aantal niet publiek open stemlokalen groep totaal: 100\n",
"aantal tent stemlokalen groep totaal: 80\n",
"aantal parkeerplaats stemlokalen groep totaal: 58\n",
"aantal bus stemlokalen groep totaal: 34\n",
"\n",
"\n",
"aantal mobiele stemlokalen groep 1; 0-10.000 stemgerechtigden: 0\n",
2022-05-20 18:54:23 +02:00
"aantal drive through stemlokalen groep 1; 0-10.000 stemgerechtigden: 1\n",
"aantal niet publiek open stemlokalen groep 1; 0-10.000 stemgerechtigden: 6\n",
2022-05-20 18:54:23 +02:00
"aantal tent stemlokalen groep 1; 0-10.000 stemgerechtigden: 0\n",
"aantal parkeerplaats stemlokalen groep 1; 0-10.000 stemgerechtigden: 0\n",
"aantal bus stemlokalen groep 1; 0-10.000 stemgerechtigden: 0\n",
"\n",
"\n",
"aantal mobiele stemlokalen groep 2; 10.000-30.000 stemgerechtigden: 35\n",
"aantal drive through stemlokalen groep 2; 10.000-30.000 stemgerechtigden: 9\n",
2022-05-20 18:54:23 +02:00
"aantal niet publiek open stemlokalen groep 2; 10.000-30.000 stemgerechtigden: 27\n",
"aantal tent stemlokalen groep 2; 10.000-30.000 stemgerechtigden: 14\n",
"aantal parkeerplaats stemlokalen groep 2; 10.000-30.000 stemgerechtigden: 20\n",
"aantal bus stemlokalen groep 2; 10.000-30.000 stemgerechtigden: 13\n",
"\n",
"\n",
"aantal mobiele stemlokalen groep 3; 30.000-60.000 stemgerechtigden: 45\n",
"aantal drive through stemlokalen groep 3; 30.000-60.000 stemgerechtigden: 11\n",
"aantal niet publiek open stemlokalen groep 3; 30.000-60.000 stemgerechtigden: 27\n",
"aantal tent stemlokalen groep 3; 30.000-60.000 stemgerechtigden: 10\n",
"aantal parkeerplaats stemlokalen groep 3; 30.000-60.000 stemgerechtigden: 8\n",
"aantal bus stemlokalen groep 3; 30.000-60.000 stemgerechtigden: 11\n",
"\n",
"\n",
"aantal mobiele stemlokalen groep 4; 60.000-100.000 stemgerechtigden: 14\n",
"aantal drive through stemlokalen groep 4; 60.000-100.000 stemgerechtigden: 8\n",
2022-05-20 18:54:23 +02:00
"aantal niet publiek open stemlokalen groep 4; 60.000-100.000 stemgerechtigden: 11\n",
"aantal tent stemlokalen groep 4; 60.000-100.000 stemgerechtigden: 20\n",
"aantal parkeerplaats stemlokalen groep 4; 60.000-100.000 stemgerechtigden: 16\n",
"aantal bus stemlokalen groep 4; 60.000-100.000 stemgerechtigden: 0\n",
"\n",
"\n",
"aantal mobiele stemlokalen groep 5; 100.000-350.000 stemgerechtigden: 17\n",
"aantal drive through stemlokalen groep 5; 100.000-350.000 stemgerechtigden: 10\n",
"aantal niet publiek open stemlokalen groep 5; 100.000-350.000 stemgerechtigden: 29\n",
"aantal tent stemlokalen groep 5; 100.000-350.000 stemgerechtigden: 24\n",
"aantal parkeerplaats stemlokalen groep 5; 100.000-350.000 stemgerechtigden: 12\n",
"aantal bus stemlokalen groep 5; 100.000-350.000 stemgerechtigden: 10\n",
"\n",
"\n",
2022-05-20 18:54:23 +02:00
"aantal mobiele stemlokalen groep 6; >350.000 stemgerechtigden: 0\n",
"aantal drive through stemlokalen groep 6; >350.000 stemgerechtigden: 0\n",
"aantal niet publiek open stemlokalen groep 6; >350.000 stemgerechtigden: 0\n",
"aantal tent stemlokalen groep 6; >350.000 stemgerechtigden: 12\n",
"aantal parkeerplaats stemlokalen groep 6; >350.000 stemgerechtigden: 2\n",
"aantal bus stemlokalen groep 6; >350.000 stemgerechtigden: 0\n",
"\n",
"\n"
]
}
],
"source": [
"print_type(gdf_wims_dedupe, \"totaal\")\n",
"print(\"\\n\")\n",
"\n",
"def make_print_type(label):\n",
" df_stemger_label = df_stemger_clean[df_stemger_clean['binned'].str.fullmatch(label)]\n",
" print_type(filter_binned(gdf_wims_dedupe, df_stemger_label), label)\n",
" \n",
"for label in labels:\n",
" make_print_type(label)\n",
" print(\"\\n\")"
]
},
{
"cell_type": "code",
"execution_count": 229,
"metadata": {},
"outputs": [],
"source": [
"#print(list(gdf_wims_dedupe))\n",
"\n",
"#print(list(df_stemger_clean))\n",
"\n",
"\n",
"#gdf_wims_dedupe.rename(columns = {'CBS gemeentecode': 'gemeentecode'}, inplace = True)\n",
"#wims_merged = pd.merge(gdf_wims_dedupe, df_stemger_clean, on=['gemeentecode'])\n",
"#wims_merged.rename(columns = {'binned': 'staffel'}, inplace = True)\n",
"#wims_merged.to_csv(path_or_buf='../data/export/openingstijden_alle_staffels.csv', sep=';', na_rep='', header=True, date_format = '%m-%d %H:%M')\n",
"\n",
"#df_nearest.rename(columns = {'CBS gemeentecode': 'gemeentecode'}, inplace = True)\n",
"#df_merged = pd.merge(df_nearest, df_stemger_clean, on=['gemeentecode'])\n",
"#df_merged.rename(columns = {'binned': 'staffel'}, inplace = True)\n",
"#df_merged.to_csv(path_or_buf='../data/export/afstand_alle_staffels.csv', sep=';', na_rep='', header=True, date_format = '%m-%d %H:%M')"
]
},
{
"cell_type": "code",
"execution_count": 230,
"metadata": {},
"outputs": [],
"source": [
"#de eerste vijf rijen zijn meta-data en kunnen we gerust weghalen voor nu \n",
"#df_gr_gr = pd.read_csv(r'../data/stemmen/01_Groningen/#osv4-3_telling_gr2022_groningen.csv', skiprows=5, header=None, delimiter=';')\n",
"#print(df_gr_gr)"
]
},
2022-07-11 16:29:43 +02:00
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Hier de hoeveelheid stemlokalen die open zijn op elke unieke combinatie van dagen (totaal moet de totale stemlokalen zijn, de categorieën zijn exclusief)"
]
},
2022-05-16 16:11:50 +02:00
{
"cell_type": "code",
"execution_count": 231,
"metadata": {},
"outputs": [
{
"data": {
2022-07-11 16:29:43 +02:00
"image/png": "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
"text/plain": [
"<Figure size 936x936 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"open = {\n",
" 'dagen': [],\n",
" 'aantal': [],\n",
" 'staffel': []\n",
" }\n",
"\n",
"\n",
"def graph_open_2(df, label):\n",
" \n",
" open['dagen'].append(\"14 en 15 maart\")\n",
" open['aantal'].append(df[df['Openingstijden 16-03-2022 van'].isnull()].dropna(subset=['Openingstijden 15-03-2022 van'])['Openingstijden 14-03-2022 van'].count())\n",
" open['staffel'].append(label)\n",
"\n",
" open['dagen'].append(\"14 en 16 maart\")\n",
" open['aantal'].append(df[df['Openingstijden 15-03-2022 van'].isnull()].dropna(subset=['Openingstijden 16-03-2022 van'])['Openingstijden 14-03-2022 van'].count())\n",
" open['staffel'].append(label)\n",
"\n",
" open['dagen'].append(\"15 en 16 maart\")\n",
" open['aantal'].append(df[df['Openingstijden 14-03-2022 van'].isnull()].dropna(subset=['Openingstijden 15-03-2022 van'])['Openingstijden 16-03-2022 van'].count())\n",
" open['staffel'].append(label)\n",
"\n",
" open['dagen'].append(\"Alle dagen\")\n",
" open['aantal'].append(df.dropna(subset=['Openingstijden 16-03-2022 van', 'Openingstijden 15-03-2022 van'])['Openingstijden 14-03-2022 van'].count())\n",
" open['staffel'].append(label)\n",
"\n",
2022-05-20 18:54:23 +02:00
" open['dagen'].append(\"Alleen 14 maart\")\n",
" open['aantal'].append(df[df['Openingstijden 15-03-2022 van'].isnull()][df['Openingstijden 16-03-2022 van'].isnull()]['Openingstijden 14-03-2022 van'].count())\n",
" open['staffel'].append(label)\n",
"\n",
" open['dagen'].append(\"Alleen 15 maart\")\n",
" open['aantal'].append(df[df['Openingstijden 14-03-2022 van'].isnull()][df['Openingstijden 16-03-2022 van'].isnull()]['Openingstijden 15-03-2022 van'].count())\n",
" open['staffel'].append(label)\n",
"\n",
" open['dagen'].append(\"Alleen 16 maart\")\n",
" open['aantal'].append(df[df['Openingstijden 14-03-2022 van'].isnull()][df['Openingstijden 15-03-2022 van'].isnull()]['Openingstijden 16-03-2022 van'].count())\n",
" open['staffel'].append(label)\n",
"\n",
"\n",
"def make_graph_open_2(label):\n",
" df_stemger_label = df_stemger_clean[df_stemger_clean['binned'].str.fullmatch(label)]\n",
" graph_open_2(filter_binned(gdf_wims_times, df_stemger_label), label)\n",
"\n",
"for label in labels: \n",
" make_graph_open_2(label)\n",
"\n",
2022-05-20 18:54:23 +02:00
"dagen = sorted(list(dict.fromkeys(open['dagen'])))\n",
"\n",
"df_open_dagen = pd.DataFrame(open).pivot(index='dagen', columns=['staffel'], values=['aantal'])\n",
"\n",
"#ax_open = pd.DataFrame(open).pivot(index='dagen', columns=['staffel'], values=['aantal']).plot(kind=\"bar\", stacked=True, figsize=(13,13), fontsize=22)\n",
"\n",
"#ax_open.set_xticklabels(dagen, fontsize=22, rotation=-45, ha=\"left\", rotation_mode=\"anchor\")\n",
"\n",
"#for c in ax_open.containers:\n",
"\n",
2022-05-20 18:54:23 +02:00
" # Optional: if the segment is small or 0, customize the labels\n",
" #labels_ax= [v.get_height() if v.get_height() > 0 else '' for v in c]\n",
" \n",
" # remove the labels parameter if it's not needed for customized labels\n",
" #ax_open.bar_label(c, labels=labels_ax, label_type='center')\n",
"\n",
"ax_open_log = pd.DataFrame(open).pivot(index='dagen', columns=['staffel'], values=['aantal']).plot(kind=\"bar\", stacked=True, fontsize=22, figsize=(13,13), log=True)\n",
"\n",
"ax_open_log.set_xticklabels(dagen, fontsize=22, rotation=-45, ha=\"left\", rotation_mode=\"anchor\")\n",
"\n",
"for c in ax_open_log.containers:\n",
"\n",
" # Optional: if the segment is small or 0, customize the labels\n",
" labels_ax = [v.get_height() for v in c]\n",
" \n",
" # remove the labels parameter if it's not needed for customized labels\n",
" ax_open_log.bar_label(c, labels=labels_ax, label_type='center', padding = 0)\n",
"\n",
"#pd.DataFrame(open).pivot(index='dagen', columns=['staffel'], values=['aantal']).plot(kind=\"bar\", stacked=True, figsize=(13,13))"
]
},
2022-07-11 16:29:43 +02:00
{
"cell_type": "markdown",
"metadata": {},
"source": [
"De hoeveelheid stemlokalen in het algemeen, ingedeeld per staffel in een barchart."
]
},
2022-05-16 17:23:06 +02:00
{
"cell_type": "code",
"execution_count": 232,
2022-05-16 17:23:06 +02:00
"metadata": {},
"outputs": [
{
"data": {
2022-07-11 16:29:43 +02:00
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAyMAAAL6CAYAAAAllYmWAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAAsTAAALEwEAmpwYAACTG0lEQVR4nOzdd1xW5eP/8dcFAuICNTeWAzNFEBUcuQdiqLhHwzSzYZbVt0wr2/VRP5VWjvpkWmqW5h65TTO3YpgzcS8kxYnKPr8/brg/IEM09djn934+Hj1uzrmvdRDtfnOd61zGsixERERERETuNBe7ByAiIiIiIv9/UhgRERERERFbKIyIiIiIiIgtFEZERERERMQWCiMiIiIiImILhREREREREbFFPrsHcDe75557rAoVKtg9DBERERGRf6yIiIgzlmWVyO49hZFcVKhQga1bt9o9DBERERGRfyxjzJGc3tNtWiIiIiIiYguFERERERERsYXCiIiIiIiI2EJrRkRERASApKQkjh8/Tnx8vN1DEZF/oPz58+Pj44Obm1ue6yiMiIiICADHjx+ncOHCVKhQAWOM3cMRkX8Qy7KIjY3l+PHjVKxYMc/1dJuWiIiIABAfH0/x4sUVRETkhhljKF68+A3PrCqMiIiIiJOCiIjcrJv590NhREREROQfyBjDK6+84jz+5JNPePfdd+/4OL777jtOnjx53XJ79+4lMDCQWrVqceDAAb744guqVavGo48+mmOd1atX065du1s5XLnLKIyIiIiI/AN5eHgwe/Zszpw5Y+s48hpG5s6dS9euXfn999+pXLky48aNY/ny5UydOvUOjFLuVgojIiIiIv9A+fLl4+mnn2bUqFFZ3jt8+DAtWrQgICCAli1bcvToUQD69OnDwIEDefDBB6lUqRIzZ8501vn4448JDg4mICCAd955J0ubKSkp9OnThxo1auDv78+oUaOYOXMmW7du5dFHHyUwMJCrV6/y/vvvExwcTI0aNXj66aexLItFixbx2Wef8eWXX9K8eXOeffZZDh48yEMPPcSoUaO4fPkyffv2pW7dutSqVYt58+bdvm+c3FUURkRERET+oQYMGMDUqVO5cOFCpvMvvPACvXv35o8//uDRRx9l4MCBzveio6NZu3YtCxcuZMiQIQAsW7aMqKgoNm/eTGRkJBEREaxZsyZTm5GRkZw4cYKdO3eyY8cOnnjiCbp27UpQUBBTp04lMjIST09Pnn/+ebZs2cLOnTu5evUqCxcuJCwsjGeffZaXX36ZVatW8dVXX1G2bFlWrVrFyy+/zEcffUSLFi3YvHkzq1atYtCgQVy+fPn2fwPFdgojIiIiIv9QRYoU4fHHH+eLL77IdH7Dhg088sgjAPTq1Yu1a9c63+vYsSMuLi5Ur16dmJgYwBFGli1bRq1atahduzZ79+4lKioqU5uVKlXi4MGDvPDCCyxZsoQiRYpkO6ZVq1ZRr149/P39+eWXX9i1a9d1r2PZsmUMHz6cwMBAmjVrRnx8vHM2R/63aZ8RERERkX+wl156idq1a/PEE0/kqbyHh4fza8uynK+vv/46zzzzTI71ihYtyvbt21m6dClfffUVP/30ExMnTsxUJj4+nueee46tW7dSvnx53n333Tw96tWyLGbNmkXVqlUznU8PS/K/SzMjIiIiIv9gxYoVo3v37kyYMMF57sEHH2TatGkATJ06lcaNG+faRmhoKBMnTiQuLg6AEydO8NdffwHQsmVLTpw4wZkzZ0hNTaVLly58+OGHbNu2DYDChQtz6dIlAGfwuOeee4iLi8u0JuV6/Y8ePdoZjn7//fe8Xr78w2lmREREROQf7pVXXmHMmDHO49GjR/PEE0/w8ccfU6JECb799ttc67du3Zo9e/bQoEEDAAoVKsT333/PPffcw/79+ylWrBj79u3jiSeeIDU1FYBhw4YBjkXxzz77LJ6enmzYsIGnnnqKGjVqULp0aYKDg/M0/rfeeouXXnqJgIAAUlNTqVixIgsXLryZb4X8w5j0BCpZBQUFWVu3brV7GCIiInfEnj17qFatmt3DkLvIzp07mThxIiNHjrR7KPIPkd2/I8aYCMuygrIrr9u0RERERCRbNWrUUBCR20phREREREREbKEwIiIiIiIitlAYERERERERWyiMiIiIiIiILRRGRERERETEFgojIiIicte4evUqTZs2JSUl5Za2O3fuXHbv3n3dcu+++y6ffPJJrmX27t1LgwYN8PDwuG7ZdGfPniUkJIQqVaoQEhLCuXPnsi03ZswYfH19McZw5swZ53nLshg4cCC+vr4EBAQ4Nxy8VkREBP7+/vj6+jJw4EDnJoI59Z/XdrPz2WefceXKlTyXv5usXr2adu3aZfvetdcVFhbG+fPn89z24cOHqVGjxk2PrWfPnkRFRd10/X8abXooIiIi2aow5Odb2t7h4W2vW2bixIl07twZV1fXW9r33LlzadeuHdWrV//bbRUrVowvvviCuXPn5rnO8OHDadmyJUOGDGH48OEMHz6cESNGZCnXsGFD2rVrR7NmzTKdX7x4MVFRUURFRbFp0yb69+/Ppk2bstTv378/48ePp169eoSFhbFkyRIeeuihHPvPa7vZ+eyzz3jssccoUKBAnr8Pt0tycjL58t2aj7XXXteiRYtuSbt51b9/f/79738zfvz4O9qvXTQzIiIiIneNqVOn0qFDBwDi4uJo2bIltWvXxt/fn3nz5jnLdezYkTp16uDn58fXX3/tPF+oUCHefPNNatasSf369YmJiWH9+vXMnz+fQYMGERgYyIEDBxg/fjzBwcHUrFmTLl263NBv+EuWLElwcDBubm5Z3gsLC+PkyZNZzs+bN4/evXsD0Lt37xyDTK1atahQoUK29R9//HGMMdSvX5/z588THR2dqUx0dDQXL16kfv36GGN4/PHHnf3k1H9e2r18+TJt27alZs2a1KhRg+nTp/PFF19w8uRJmjdvTvPmzQFYtmwZDRo0oHbt2nTr1o24uDgAKlSowOuvv05gYCBBQUFs27aN0NBQKleuzFdffQVAamoqzz33HA888AAhISGEhYUxc+ZMwDHb07RpU+rUqUNoaKhzfM2aNeOll14iKCiIzz//PMdy+/fvp1WrVtSsWZPatWtz4MABwPHz1bVrVx544AEeffRRLMvK9roqVKjgnKX64IMPqFq1Ko0aNeLhhx92zoxFRERQs2ZNatasydixY53fu5SUFAYNGkRwcDABAQH85z//ARwzM82aNcvSP0Djxo1ZsWIFycnJ2f6M/K9RGBEREZG7QmJiIgcPHnR+GM+fPz9z5sxh27ZtrFq1ildeecX5gW3ixIlERESwdetWvvjiC2JjYwHHB+f69euzfft2mjRpwvjx43nwwQcJDw/n448/JjIyksqVK9O5c2e2bNnC9u3bqVatGhMmTLgl17Bo0SLKli2b5XxMTAxlypQBoHTp0sTExNxQuydOnKB8+fLOYx8fH06cOJGljI+PT7Zlcuo/L+0uWbKEsmXLsn37dnbu3EmbNm0YOHAgZcuWZdWqVaxatYozZ87w4YcfsmLFCrZt20ZQUFCmzRLvvfdeIiMjady4MX369GHmzJls3LiRd955B4DZs2dz+PBhdu/ezZQpU9iwYQMASUlJvPDCC8ycOZOIiAj69u3Lm2++6Ww3MTGRrVu3MnDgwBzLPfroowwYMIDt27ezfv165/fh999/57PPPmP37t0cPHiQdevWZbmujLZs2cKsWbPYvn07ixcvZuvWrc73nnjiCUaPHs327dsz1ZkwYQJeXl5s2bKFLVu2MH78eA4dOpRj/wAuLi74+vpmaet/lW7TEhERkbvCmTNn8Pb2dh5blsUbb7zBmjVrcHFx4cSJE8TExFC6dGm++OIL5syZA8CxY8eIioqiePHiuLu7O9cC1KlTh+XLl2fb186dOxk6dCjnz58nLi6O0NDQ23596YwxGGPuWH9/t39/f39eeeUVBg8eTLt27WjcuHGWMhs3bmT37t00bNgQcISEBg0aON8PDw93thUXF0fhwoUpXLgwHh4enD9/nrVr19K
2022-05-16 17:23:06 +02:00
"text/plain": [
"<Figure size 936x936 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"amount = {\n",
" ' ': [],\n",
" 'aantal': [],\n",
" 'staffel': []\n",
" }\n",
"\n",
"def graph_count(df, label):\n",
" amount[' '].append(\"Stemlokaal\")\n",
" amount['aantal'].append(df[\"UUID\"].count())\n",
" amount['staffel'].append(label)\n",
"\n",
"def make_graph_count(label):\n",
" df_stemger_label = df_stemger_clean[df_stemger_clean['binned'].str.fullmatch(label)]\n",
" graph_count(filter_binned(gdf_wims_dedupe, df_stemger_label), label)\n",
"\n",
"for label in labels: \n",
" make_graph_count(label)\n",
"\n",
"\n",
"\n",
2022-05-20 18:54:23 +02:00
"ax_stemlok = pd.DataFrame(amount).pivot(index=' ', columns=['staffel'], values=['aantal']).plot(kind=\"bar\", stacked=True, figsize=(13,13), fontsize=22)\n",
"\n",
"ax_stemlok.set_xticklabels(['Stemlokalen'], fontsize=22, rotation=0, ha=\"center\", rotation_mode=\"anchor\")\n",
"\n",
"for c in ax_stemlok.containers:\n",
"\n",
" # Optional: if the segment is small or 0, customize the labels\n",
" labels_ax = [v.get_height() if v.get_height() > 0 else '' for v in c]\n",
" \n",
" # remove the labels parameter if it's not needed for customized labels\n",
" ax_stemlok.bar_label(c, labels=labels_ax, label_type='center')\n"
2022-05-16 17:23:06 +02:00
]
},
2022-07-11 16:29:43 +02:00
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Stemlokaal soorten in een barchart (gebouwfunctie in het kadaster), dit is in pergentages van het totaal, aangezien een gebouw meerdere functies kan hebben is niet alles 100."
]
},
{
"cell_type": "code",
"execution_count": 233,
2022-05-16 16:11:50 +02:00
"metadata": {},
"outputs": [
{
"data": {
2022-07-11 16:29:43 +02:00
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA1MAAAP3CAYAAADJNRRkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAAsTAAALEwEAmpwYAAEAAElEQVR4nOzdeVxV1f7/8fdmUhRFnHLMIRyRQQRFLSdUTI2cKstbDmmlluW3TEsbrZvd+mU5lFevZHopLRxvV81MzJxSIcgxcUzRSExMVJRh//4A9gUZxB2D2ev5ePg4nH3WWvuzDyfizdp7bcM0TQEAAAAAboxDWRcAAAAAAH9GhCkAAAAAsIEwBQAAAAA2EKYAAAAAwAbCFAAAAADY4FTWBZS06tWrmw0bNizrMgAAAIA/taioqETTNGuUdR03k1s+TDVs2FC7du0q6zIAAACAPzXDMI6XdQ03G07zAwAAAAAbCFMAAAAAYANhCgAAAABsuOWvmQIA4K8mNTVVJ0+eVEpKSlmXAuBPqHz58qpXr56cnZ3LupSbHmEKAIBbzMmTJ1WpUiU1bNhQhmGUdTkA/kRM09TZs2d18uRJNWrUqKzLuelxmh8AALeYlJQUVatWjSAF4IYZhqFq1aoxs11EhCkAAG5BBCkAdvHzo+gIUwAAAABgA2EKAACgDBmGoWeffdZ6/u677+rVV18t9ToWLFigU6dOXbfdgQMH5Ofnp9atW+vw4cOaMWOGWrRooSFDhhTYZ+PGjerbt29xlgvcFAhTAAAAZahcuXJatmyZEhMTy7SOooapFStWaNCgQfrhhx90xx136MMPP9TXX3+t8PDwUqgSuLkQpgAAAMqQk5OTHnvsMU2fPj3Pa8eOHVO3bt3k4+Oj4OBg/fzzz5KkYcOGady4cerQoYMaN26siIgIq88777yjwMBA+fj46JVXXskzZnp6uoYNG6ZWrVrJ29tb06dPV0REhHbt2qUhQ4bIz89Ply9f1uuvv67AwEC1atVKjz32mEzT1OrVq/X+++/ro48+UteuXfXEE0/oyJEjuvvuuzV9+nRdvHhRI0aMUNu2bdW6dWutXLmy5N444CZAmAIAAChjY8eOVXh4uM6fP59r+1NPPaWhQ4fqxx9/1JAhQzRu3DjrtdOnT2vz5s368ssvNWnSJEnSunXrFBcXpx07digmJkZRUVHatGlTrjFjYmIUHx+vPXv2aPfu3Ro+fLgGDRqkgIAAhYeHKyYmRq6urnryySe1c+dO7dmzR5cvX9aXX36p3r1764knntD48eMVGRmpOXPmqE6dOoqMjNT48eP15ptvqlu3btqxY4ciIyM1YcIEXbx4seTfQKCMEKYAAADKWOXKlfXII49oxowZubZv27ZNDz30kCTp4Ycf1ubNm63X+vXrJwcHB7Vs2VIJCQmSMsPUunXr1Lp1a/n7++vAgQOKi4vLNWbjxo115MgRPfXUU1q7dq0qV66cb02RkZFq166dvL29tWHDBu3du/e6x7Fu3TpNmzZNfn5+6tKli1JSUqzZNOBWxE17AQAAbgLPPPOM/P39NXz48CK1L1eunPW1aZrW4wsvvKDHH3+8wH4eHh6KjY3VV199pTlz5ujzzz9XWFhYrjYpKSkaM2aMdu3apfr16+vVV18t0n2HTNPU0qVL1axZs1zbs8MecKthZgoAAOAmULVqVd1///2aP3++ta1Dhw5avHixJCk8PFx33XVXoWOEhIQoLCxMycnJkqT4+Hj9+uuvkqTg4GDFx8crMTFRGRkZGjhwoN544w1FR0dLkipVqqQLFy5IkhWcqlevruTk5FzXZF1v/zNnzrTC3Q8//FDUwwf+lJiZAgAAuEk8++yzmjVrlvV85syZGj58uN555x3VqFFDH3/8caH9e/bsqf3796t9+/aSJDc3N/373/9W9erVdejQIVWtWlUHDx7U8OHDlZGRIUl66623JGUuavHEE0/I1dVV27Zt06hRo9SqVSvVqlVLgYGBRar/pZde0jPPPCMfHx9lZGSoUaNG+vLLL+28FcCfgpH9l4NbVUBAgLlr166yLgMAgFKzf/9+tWjRoqzLwE1kz549CgsL03vvvVfWpeBPIr+fI4ZhRJmmGVBGJd2UOM0PAADgFteqVSuCFFACCFMAAAAAYANhCgAAAABsIEwBAAAAgA2EKQAAAACwgTAFAAAAADYQpgAAuMU1nPTfYv1XFJcvX1bnzp2Vnp5erMeyYsUK7du377rtXn31Vb377ruFtjlw4IDat2+vcuXKXbdttt9++009evRQkyZN1KNHD507dy7fdrNmzZKnp6cMw1BiYqK13TRNjRs3Tp6envLx8bFumHutqKgoeXt7y9PTU+PGjbNuglvQ/os6bn7ef/99Xbp0qcjtbyYbN25U3759833t2uPq3bu3kpKSijz2sWPH1KpVK9u1DR48WHFxcbb748+BMAUAAIpdWFiYBgwYIEdHx2Idt6hhqiiqVq2qGTNm6Lnnnityn2nTpik4OFhxcXEKDg7WtGnT8m3XsWNHrV+/Xg0aNMi1fc2aNYqLi1NcXJzmzp2r0aNH59t/9OjRmjdvntV27dq1he6/qOPm52YKU2lpacU21rXHtXr1alWpUqXYxr+e0aNH6x//+Eep7Q9lgzAFAACKXXh4uO69915JUnJysoKDg+Xv7y9vb2+tXLnSatevXz+1adNGXl5emjt3rrXdzc1NkydPlq+vr4KCgpSQkKCtW7dq1apVmjBhgvz8/HT48GHNmzdPgYGB8vX11cCBA28oFNSsWVOBgYFydnbO81rv3r116tSpPNtXrlypoUOHSpKGDh2qFStW5Dt269at1bBhw3z7P/LIIzIMQ0FBQUpKStLp06dztTl9+rR+//13BQUFyTAMPfLII9Z+Ctp/Uca9ePGi+vTpI19fX7Vq1UpLlizRjBkzdOrUKXXt2lVdu3aVJK1bt07t27eXv7+/7rvvPiUnJ0uSGjZsqBdeeEF+fn4KCAhQdHS0QkJCdMcdd2jOnDmSpIyMDI0ZM0bNmzdXjx491Lt3b0VEREjKnG3r3Lmz2rRpo5CQEKu+Ll266JlnnlFAQIA++OCDAtsdOnRI3bt3l6+vr/z9/XX48GFJmZ+vQYMGqXnz5hoyZIhM08z3uBo2bGjNEk6dOlXNmjXTnXfeqQcffNCamYyKipKvr698fX01e/Zs671LT0/XhAkTFBgYKB8fH/3zn/+UlDkz1qVLlzz7l6S77rpL69evL9aAiJsPYQoAABSrq1ev6siRI1aYKF++vJYvX67o6GhFRkbq2WeftX7hDAsLU1RUlHbt2qUZM2bo7NmzkjJ/8Q8KClJsbKw6deqkefPmqUOHDgoNDdU777yjmJgY3XHHHRowYIB27typ2NhYtWjRQvPnzy+WY1i9erXq1KmTZ3tCQoJq164tSapVq5YSEhJuaNz4+HjVr1/fel6vXj3Fx8fnaVOvXr182xS0/6KMu3btWtWpU0exsbHas2ePevXqpXHjxqlOnTqKjIxUZGSkEhMT9cYbb2j9+vWKjo5WQEBArpv93n777YqJidFdd92lYcOGKSIiQtu3b9crr7wiSVq2bJmOHTumffv2adGiRdq2bZskKTU1VU899ZQiIiIUFRWlESNGaPLkyda4V69e1a5duzRu3LgC2w0ZMkRjx45VbGystm7dar0PP/zwg95//33t27dPR44c0ZYtW/IcV047d+7U0qVLFRsbqzVr1mjXrl3Wa8OHD9fMmTMVGxubq8/8+fPl7u6unTt3aufOnZo3b56OHj1a4P4lycHBQZ6ennnGwq3FqawLAAAAt5bExMRcp1OZpqkXX3xRmzZtkoODg+Lj45WQkKBatWppxowZWr58uSTpxIkTiouLU7Vq1eTi4mJdC9OmTRt9/fXX+e5rz549mjJlipKSkpScnKyQkJASP75shmHIMIxS298f3b+3t7eeffZZTZw4UX379tVdd92Vp8327du1b98+dezYUVJmyGnfvr31emhoqDVWcnKyKlWqpEqVKqlcuXJKSkrS5s2bdd9998nBwUG1atWyZoV++ukn7dmzRz169JC
2022-05-16 16:11:50 +02:00
"text/plain": [
"<Figure size 936x936 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"counts = {'type': [],\n",
" 'aantal': [],\n",
" 'staffel': []}\n",
"def graph_type(df, label):\n",
" \n",
" counts['type'].append(\"Mobiel stemlokaal\") \n",
" counts['aantal'].append(df[df[\"Naam stembureau\"].str.contains(\"Mobiel\")][\"Naam stembureau\"].count())\n",
" counts['staffel'].append(label)\n",
" counts['type'].append(\"Drive-through stemlokaal\")\n",
" counts['aantal'].append(df[df[\"Naam stembureau\"].str.contains(\"Drive\")][\"Naam stembureau\"].count())\n",
" counts['staffel'].append(label)\n",
" df_publiek = df.dropna(subset=['Extra adresaanduiding'])\n",
" counts['type'].append(\"Niet open algemeen publiek\")\n",
" counts['aantal'].append(df_publiek[df_publiek[\"Extra adresaanduiding\"].str.contains(\"Niet open voor algemeen publiek\")][\"Extra adresaanduiding\"].count())\n",
" counts['staffel'].append(label)\n",
" counts['type'].append(\"Tent stemlokaal\")\n",
" counts['aantal'].append(df[df[\"Naam stembureau\"].str.contains(\"tent\")][\"Naam stembureau\"].count())\n",
" counts['staffel'].append(label)\n",
" counts['type'].append(\"Parkeerplaats stemlokaal\")\n",
" counts['aantal'].append(df[df[\"Naam stembureau\"].str.contains(\"parkeer\")][\"Naam stembureau\"].count())\n",
" counts['staffel'].append(label)\n",
" counts['type'].append(\"Bus stemlokaal\")\n",
" counts['aantal'].append(df[df[\"Naam stembureau\"].str.contains(\"bus\")][\"Naam stembureau\"].count())\n",
" counts['staffel'].append(label)\n",
"\n",
"def make_graph_type_2(label):\n",
" df_stemger_label = df_stemger_clean[df_stemger_clean['binned'].str.fullmatch(label)]\n",
" graph_type(filter_binned(gdf_wims_dedupe, df_stemger_label), label)\n",
"\n",
"for label in labels: \n",
" make_graph_type_2(label)\n",
"\n",
2022-05-20 18:54:23 +02:00
"types = ['Bus stemlokaal', 'Drive through stemlokaal', 'Mobiel stemlokaal', 'Niet open voor algemeen publiek', 'Parkeerplaats stemlokaal', 'Tent stemlokaal']\n",
"\n",
"ax = pd.DataFrame(counts).pivot(index='type', columns=['staffel'], values=['aantal']).plot(kind=\"bar\", stacked=True, figsize=(13,13), fontsize=22)\n",
"\n",
"ax.set_xticklabels(types, fontsize=22, rotation=-45, ha=\"left\", rotation_mode=\"anchor\")\n",
"\n",
"for c in ax.containers:\n",
"\n",
" # Optional: if the segment is small or 0, customize the labels\n",
" labels_ax = [v.get_height() if v.get_height() > 0 else '' for v in c]\n",
" \n",
" # remove the labels parameter if it's not needed for customized labels\n",
" ax.bar_label(c, labels=labels_ax, label_type='center')\n",
"\n"
2022-05-16 16:11:50 +02:00
]
},
2022-05-20 18:54:23 +02:00
{
"cell_type": "code",
"execution_count": 234,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Unnamed: 0</th>\n",
" <th>_id</th>\n",
" <th>Gemeente</th>\n",
" <th>CBS gemeentecode</th>\n",
" <th>Nummer stembureau</th>\n",
" <th>Naam stembureau</th>\n",
" <th>Gebruiksdoel van het gebouw</th>\n",
" <th>Website locatie</th>\n",
" <th>Wijknaam</th>\n",
" <th>CBS wijknummer</th>\n",
" <th>...</th>\n",
" <th>Gehandicaptentoilet</th>\n",
" <th>Kieskring ID</th>\n",
" <th>Hoofdstembureau</th>\n",
" <th>Tellocatie</th>\n",
" <th>Contactgegevens gemeente</th>\n",
" <th>Verkiezingswebsite gemeente</th>\n",
" <th>Verkiezingen</th>\n",
" <th>ID</th>\n",
" <th>UUID</th>\n",
" <th>geometry</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>Valkenswaard</td>\n",
" <td>GM0858</td>\n",
" <td>1</td>\n",
" <td>Zorgcentrum Kempenhof</td>\n",
" <td>gezondheidszorgfunctie</td>\n",
" <td>https://www.valkenhof.nl/</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>...</td>\n",
" <td>ja</td>\n",
" <td>Valkenswaard</td>\n",
" <td>Valkenswaard</td>\n",
" <td>NaN</td>\n",
" <td>verkiezingen@valkenswaard.nl</td>\n",
" <td>http://www.valkenswaard.nl/verkiezingen</td>\n",
" <td>NaN</td>\n",
" <td>NLODSGM0858stembureaus20220316009</td>\n",
" <td>3a612b2151fa4ab491b9e331355e6258</td>\n",
" <td>POINT (5.45515 51.34711)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>Valkenswaard</td>\n",
" <td>GM0858</td>\n",
" <td>2</td>\n",
" <td>Buurtgebouw De Horizon</td>\n",
" <td>bijeenkomstfunctie</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>Valkenswaard</td>\n",
" <td>Valkenswaard</td>\n",
" <td>NaN</td>\n",
" <td>verkiezingen@valkenswaard.nl</td>\n",
" <td>http://www.valkenswaard.nl/verkiezingen</td>\n",
" <td>NaN</td>\n",
" <td>NLODSGM0858stembureaus20220316009</td>\n",
" <td>9a01d765af0a467ea37f08d92db114ba</td>\n",
" <td>POINT (5.45137 51.34955)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>2</td>\n",
" <td>3</td>\n",
" <td>Valkenswaard</td>\n",
" <td>GM0858</td>\n",
" <td>3</td>\n",
" <td>Speeltuin Geenhoven</td>\n",
" <td>bijeenkomstfunctie</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>Valkenswaard</td>\n",
" <td>Valkenswaard</td>\n",
" <td>NaN</td>\n",
" <td>verkiezingen@valkenswaard.nl</td>\n",
" <td>http://www.valkenswaard.nl/verkiezingen</td>\n",
" <td>NaN</td>\n",
" <td>NLODSGM0858stembureaus20220316009</td>\n",
" <td>fc5869d33fbc4b06be659149fa615f4c</td>\n",
" <td>POINT (5.44827 51.35702)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>3</td>\n",
" <td>4</td>\n",
" <td>Valkenswaard</td>\n",
" <td>GM0858</td>\n",
" <td>4</td>\n",
" <td>Ontmoetingscentrum De zoete inval</td>\n",
" <td>bijeenkomstfunctie</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>Valkenswaard</td>\n",
" <td>Valkenswaard</td>\n",
" <td>NaN</td>\n",
" <td>verkiezingen@valkenswaard.nl</td>\n",
" <td>http://www.valkenswaard.nl/verkiezingen</td>\n",
" <td>NaN</td>\n",
" <td>NLODSGM0858stembureaus20220316009</td>\n",
" <td>4427cc0b39e040ba8f75c333f19d66f0</td>\n",
" <td>POINT (5.44871 51.36022)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" <td>Valkenswaard</td>\n",
" <td>GM0858</td>\n",
" <td>5</td>\n",
" <td>Gymnastiekzaal 't Gegraaf</td>\n",
" <td>sportfunctie</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>Valkenswaard</td>\n",
" <td>Valkenswaard</td>\n",
" <td>NaN</td>\n",
" <td>verkiezingen@valkenswaard.nl</td>\n",
" <td>http://www.valkenswaard.nl/verkiezingen</td>\n",
" <td>NaN</td>\n",
" <td>NLODSGM0858stembureaus20220316009</td>\n",
" <td>a893bb9add324ce29769f1c39afcc48d</td>\n",
" <td>POINT (5.45331 51.36514)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9270</th>\n",
" <td>9270</td>\n",
" <td>38745</td>\n",
" <td>Gennep</td>\n",
" <td>GM0907</td>\n",
" <td>4</td>\n",
" <td>Het Hökske</td>\n",
" <td>bijeenkomstfunctie</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>Gennep</td>\n",
" <td>Gennep</td>\n",
" <td>ja</td>\n",
" <td>Klantcontactcentrum gemeente Gennep gemeente@g...</td>\n",
" <td>https://www.gennep.nl</td>\n",
" <td>NaN</td>\n",
" <td>NLODSGM0907stembureaus20220316009</td>\n",
" <td>f744546cd6894e5e9a4db4bbfd81b4ee</td>\n",
" <td>POINT (5.98266 51.69726)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9271</th>\n",
" <td>9271</td>\n",
" <td>38746</td>\n",
" <td>Gennep</td>\n",
" <td>GM0907</td>\n",
" <td>5</td>\n",
" <td>Buurthuis VanOns</td>\n",
" <td>bijeenkomstfunctie</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>Gennep</td>\n",
" <td>Gennep</td>\n",
" <td>ja</td>\n",
" <td>Klantcontactcentrum gemeente Gennep gemeente@g...</td>\n",
" <td>https://www.gennep.nl</td>\n",
" <td>NaN</td>\n",
" <td>NLODSGM0907stembureaus20220316009</td>\n",
" <td>1270081b1dc74cd7bea0f45973650408</td>\n",
" <td>POINT (5.98127 51.69000)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9272</th>\n",
" <td>9272</td>\n",
" <td>38747</td>\n",
" <td>Gennep</td>\n",
" <td>GM0907</td>\n",
" <td>6</td>\n",
" <td>'t Trefpunt</td>\n",
" <td>bijeenkomstfunctie</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>Gennep</td>\n",
" <td>Gennep</td>\n",
" <td>ja</td>\n",
" <td>Klantcontactcentrum gemeente Gennep gemeente@g...</td>\n",
" <td>https://www.gennep.nl</td>\n",
" <td>NaN</td>\n",
" <td>NLODSGM0907stembureaus20220316009</td>\n",
" <td>447c7742604345139e41def4cf1e4d3c</td>\n",
" <td>POINT (5.95118 51.72591)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9273</th>\n",
" <td>9273</td>\n",
" <td>38748</td>\n",
" <td>Gennep</td>\n",
" <td>GM0907</td>\n",
" <td>8</td>\n",
" <td>De Uitkomst</td>\n",
" <td>bijeenkomstfunctie</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>Gennep</td>\n",
" <td>Gennep</td>\n",
" <td>ja</td>\n",
" <td>Klantcontactcentrum gemeente Gennep gemeente@g...</td>\n",
" <td>https://www.gennep.nl</td>\n",
" <td>NaN</td>\n",
" <td>NLODSGM0907stembureaus20220316009</td>\n",
" <td>049cfd258c174bc49abf17883396d083</td>\n",
" <td>POINT (6.01556 51.70976)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9274</th>\n",
" <td>9274</td>\n",
" <td>38749</td>\n",
" <td>Gennep</td>\n",
" <td>GM0907</td>\n",
" <td>1</td>\n",
" <td>Zaal Buurman</td>\n",
" <td>woonfunctie,bijeenkomstfunctie</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>Gennep</td>\n",
" <td>Gennep</td>\n",
" <td>NaN</td>\n",
" <td>Klantcontactcentrum gemeente Gennep gemeente@g...</td>\n",
" <td>https://www.gennep.nl</td>\n",
" <td>NaN</td>\n",
" <td>NLODSGM0907stembureaus20220316009</td>\n",
" <td>1e8cbe96e72c4c6ba6303f47bec8cdb5</td>\n",
" <td>POINT (5.98514 51.70189)</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>8582 rows × 41 columns</p>\n",
"</div>"
],
"text/plain": [
" Unnamed: 0 _id Gemeente CBS gemeentecode Nummer stembureau \\\n",
"0 0 1 Valkenswaard GM0858 1 \n",
"1 1 2 Valkenswaard GM0858 2 \n",
"2 2 3 Valkenswaard GM0858 3 \n",
"3 3 4 Valkenswaard GM0858 4 \n",
"4 4 5 Valkenswaard GM0858 5 \n",
"... ... ... ... ... ... \n",
"9270 9270 38745 Gennep GM0907 4 \n",
"9271 9271 38746 Gennep GM0907 5 \n",
"9272 9272 38747 Gennep GM0907 6 \n",
"9273 9273 38748 Gennep GM0907 8 \n",
"9274 9274 38749 Gennep GM0907 1 \n",
"\n",
" Naam stembureau Gebruiksdoel van het gebouw \\\n",
"0 Zorgcentrum Kempenhof gezondheidszorgfunctie \n",
"1 Buurtgebouw De Horizon bijeenkomstfunctie \n",
"2 Speeltuin Geenhoven bijeenkomstfunctie \n",
"3 Ontmoetingscentrum De zoete inval bijeenkomstfunctie \n",
"4 Gymnastiekzaal 't Gegraaf sportfunctie \n",
"... ... ... \n",
"9270 Het Hökske bijeenkomstfunctie \n",
"9271 Buurthuis VanOns bijeenkomstfunctie \n",
"9272 't Trefpunt bijeenkomstfunctie \n",
"9273 De Uitkomst bijeenkomstfunctie \n",
"9274 Zaal Buurman woonfunctie,bijeenkomstfunctie \n",
"\n",
" Website locatie Wijknaam CBS wijknummer ... \\\n",
"0 https://www.valkenhof.nl/ NaN NaN ... \n",
"1 NaN NaN NaN ... \n",
"2 NaN NaN NaN ... \n",
"3 NaN NaN NaN ... \n",
"4 NaN NaN NaN ... \n",
"... ... ... ... ... \n",
"9270 NaN NaN NaN ... \n",
"9271 NaN NaN NaN ... \n",
"9272 NaN NaN NaN ... \n",
"9273 NaN NaN NaN ... \n",
"9274 NaN NaN NaN ... \n",
"\n",
" Gehandicaptentoilet Kieskring ID Hoofdstembureau Tellocatie \\\n",
"0 ja Valkenswaard Valkenswaard NaN \n",
"1 NaN Valkenswaard Valkenswaard NaN \n",
"2 NaN Valkenswaard Valkenswaard NaN \n",
"3 NaN Valkenswaard Valkenswaard NaN \n",
"4 NaN Valkenswaard Valkenswaard NaN \n",
"... ... ... ... ... \n",
"9270 NaN Gennep Gennep ja \n",
"9271 NaN Gennep Gennep ja \n",
"9272 NaN Gennep Gennep ja \n",
"9273 NaN Gennep Gennep ja \n",
"9274 NaN Gennep Gennep NaN \n",
"\n",
" Contactgegevens gemeente \\\n",
"0 verkiezingen@valkenswaard.nl \n",
"1 verkiezingen@valkenswaard.nl \n",
"2 verkiezingen@valkenswaard.nl \n",
"3 verkiezingen@valkenswaard.nl \n",
"4 verkiezingen@valkenswaard.nl \n",
"... ... \n",
"9270 Klantcontactcentrum gemeente Gennep gemeente@g... \n",
"9271 Klantcontactcentrum gemeente Gennep gemeente@g... \n",
"9272 Klantcontactcentrum gemeente Gennep gemeente@g... \n",
"9273 Klantcontactcentrum gemeente Gennep gemeente@g... \n",
"9274 Klantcontactcentrum gemeente Gennep gemeente@g... \n",
"\n",
" Verkiezingswebsite gemeente Verkiezingen \\\n",
"0 http://www.valkenswaard.nl/verkiezingen NaN \n",
"1 http://www.valkenswaard.nl/verkiezingen NaN \n",
"2 http://www.valkenswaard.nl/verkiezingen NaN \n",
"3 http://www.valkenswaard.nl/verkiezingen NaN \n",
"4 http://www.valkenswaard.nl/verkiezingen NaN \n",
"... ... ... \n",
"9270 https://www.gennep.nl NaN \n",
"9271 https://www.gennep.nl NaN \n",
"9272 https://www.gennep.nl NaN \n",
"9273 https://www.gennep.nl NaN \n",
"9274 https://www.gennep.nl NaN \n",
"\n",
" ID UUID \\\n",
"0 NLODSGM0858stembureaus20220316009 3a612b2151fa4ab491b9e331355e6258 \n",
"1 NLODSGM0858stembureaus20220316009 9a01d765af0a467ea37f08d92db114ba \n",
"2 NLODSGM0858stembureaus20220316009 fc5869d33fbc4b06be659149fa615f4c \n",
"3 NLODSGM0858stembureaus20220316009 4427cc0b39e040ba8f75c333f19d66f0 \n",
"4 NLODSGM0858stembureaus20220316009 a893bb9add324ce29769f1c39afcc48d \n",
"... ... ... \n",
"9270 NLODSGM0907stembureaus20220316009 f744546cd6894e5e9a4db4bbfd81b4ee \n",
"9271 NLODSGM0907stembureaus20220316009 1270081b1dc74cd7bea0f45973650408 \n",
"9272 NLODSGM0907stembureaus20220316009 447c7742604345139e41def4cf1e4d3c \n",
"9273 NLODSGM0907stembureaus20220316009 049cfd258c174bc49abf17883396d083 \n",
"9274 NLODSGM0907stembureaus20220316009 1e8cbe96e72c4c6ba6303f47bec8cdb5 \n",
"\n",
" geometry \n",
"0 POINT (5.45515 51.34711) \n",
"1 POINT (5.45137 51.34955) \n",
"2 POINT (5.44827 51.35702) \n",
"3 POINT (5.44871 51.36022) \n",
"4 POINT (5.45331 51.36514) \n",
"... ... \n",
"9270 POINT (5.98266 51.69726) \n",
"9271 POINT (5.98127 51.69000) \n",
"9272 POINT (5.95118 51.72591) \n",
"9273 POINT (6.01556 51.70976) \n",
"9274 POINT (5.98514 51.70189) \n",
"\n",
"[8582 rows x 41 columns]"
]
},
"execution_count": 234,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"gdf_wims_dedupe"
]
},
{
"cell_type": "code",
"execution_count": 235,
"metadata": {},
"outputs": [],
"source": [
"df_stemger_clean.rename(columns = {'gemeentecode': 'CBS gemeentecode'}, inplace =True)"
]
},
{
"cell_type": "code",
"execution_count": 236,
"metadata": {},
"outputs": [],
"source": [
"gdf_wims_dedupe.merge(df_stemger_clean, on='CBS gemeentecode').to_csv(path_or_buf='../data/export/full_export.csv'.format(label), sep=';', na_rep='', header=True, date_format = '%m-%d %H:%M')"
]
},
2022-05-20 18:54:23 +02:00
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"De data is heel gecompliceerd, dus we moeten het bruikbaar maken in pandas. Met hoe de data eruit ziet in een CSV in libre office willen we een constructie maken van de verschillende onderdelen. We hebben de data van de stemlokalen apart al, die kunnen we dus negeren. We willen de data van de lijsten apart hebben. "
]
},
{
"cell_type": "code",
"execution_count": 237,
"metadata": {},
"outputs": [],
"source": [
"\n",
"#TODO:mobiele stemlokalen eruit filteren die NIET 0,0 zijn\n",
"#TODO:datastandaard duitse verkiezingen stemlokaalafstand opzoeken"
]
}
],
"metadata": {
"kernelspec": {
2022-05-12 13:24:22 +02:00
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
2022-07-11 16:29:43 +02:00
"version": "3.10.4"
2022-05-09 18:30:16 +02:00
},
"vscode": {
"interpreter": {
"hash": "3f7157711c67e7ebfc0cc7689d725ee0494e8877e666bd284df94ccbb1347e28"
}
}
2022-03-29 17:09:40 +02:00
},
"nbformat": 4,
"nbformat_minor": 2
}