stembureau-meting/jupyter/stembureau_data.ipynb

1436 lines
260 KiB
Plaintext
Raw Normal View History

2022-03-29 17:09:40 +02:00
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Data gemeenteraadsverkiezingen 2022 Nederland\n",
"\n",
"Dit notebook is voor het verwerken van de data van de gemeenteraadsverkiezingen van 2022. 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 de overheid als waar is mijn stemlokaal (voor geografische data van de stemlokalen). De bronnen gebruikt voor de data zijn voor de verkiezingen van 2022 is als volgt:\n",
2022-03-29 17:09:40 +02:00
"\n",
"- [Verkiezingsuitslagen Gemeenteraad 2022](https://data.overheid.nl/dataset/verkiezingsuitslagen-gemeenteraad-2022#panel-resources)\n",
" - [Directe link naar uitslagen per gemeente CSV](https://data.overheid.nl/sites/default/files/dataset/08b04bec-3332-4c76-bb0c-68bfaeb5df43/resources/GR2022_osv4-3_2022-03-24T15.33.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-03-29 17:09:40 +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 (Volkskrant)](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",
"- [CBS bevolkingsdichtheid kaart](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-03-29 17:09:52 +02:00
"\n",
"De eerste stap die we moeten maken is de data importeren voor de analyse, daarna kunnen we kijken hoe goed de data is, hoe we het aan kunnen vullen, en wat er mee te doen. De makkelijkste structuur die we vonden was het geojson bestand van open state en de Volkskrant, daar staan alle stembureaus al in een lijst, en we hebben een makkelijk framework om het te importeren; geopandas. We laden deze dan ook als eerste in."
2022-03-29 17:09:52 +02:00
]
},
{
"cell_type": "code",
"execution_count": 40,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/home/lillian/.local/lib/python3.9/site-packages/fiona/collection.py:208: FeatureWarning: Empty field name at index 61\n",
" self._schema = self.session.get_schema()\n",
"/home/lillian/anaconda3/lib/python3.9/site-packages/geopandas/geodataframe.py:600: UserWarning: Empty field name at index 61\n",
" for feature in features_lst:\n"
]
}
],
"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": [
"We importeren nu de gemeente shapefile kaart van het CBS, om de overlay van onze stemlokalen eroverheen te kunnen doen. "
]
},
{
"cell_type": "code",
"execution_count": 41,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<AxesSubplot:>"
]
},
"execution_count": 41,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"nl_map = gpd.read_file(r'../data/shape/Netherlands_shapefile/gemeente_2021_v1.shp')\n",
"nl_map.to_crs(epsg=4326).plot()\n"
]
},
{
"cell_type": "code",
"execution_count": 36,
2022-03-29 17:09:52 +02:00
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<AxesSubplot:>"
2022-03-29 17:09:52 +02:00
]
},
"execution_count": 36,
2022-03-29 17:09:52 +02:00
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 720x720 with 1 Axes>"
]
},
"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",
"df_geojson.plot(ax=ax)"
]
},
{
"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": 25,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Stembureau 32\n",
"Adres \n",
"Locatie SB32\n",
"description Stembureau Mobiel Stembureau 1\n",
"Geldige stemmen 99\n",
" ... \n",
"\"Leefbaar 's-Hertogenbosch\" Paul Kagie NaN\n",
"RAADSGROEPERING ''BOSCH-BELANG'' NaN\n",
"gewoon ge-DREVEN NaN\n",
"VOOR Den Bosch Joep Gersjes NaN\n",
"geometry POINT (0 0)\n",
"Name: 2520, Length: 973, dtype: object\n",
"Stembureau 33\n",
"Adres \n",
"Locatie SB33\n",
"description Stembureau Mobiel Stembureau 2\n",
"Geldige stemmen 115\n",
" ... \n",
"\"Leefbaar 's-Hertogenbosch\" Paul Kagie NaN\n",
"RAADSGROEPERING ''BOSCH-BELANG'' NaN\n",
"gewoon ge-DREVEN NaN\n",
"VOOR Den Bosch Joep Gersjes NaN\n",
"geometry POINT (0 0)\n",
"Name: 2521, Length: 973, dtype: object\n",
"Stembureau 157\n",
"Adres \n",
"Locatie SB157\n",
"description Stembureau Stembureau Stembus\n",
"Geldige stemmen 72\n",
" ... \n",
"\"Leefbaar 's-Hertogenbosch\" Paul Kagie NaN\n",
"RAADSGROEPERING ''BOSCH-BELANG'' NaN\n",
"gewoon ge-DREVEN NaN\n",
"VOOR Den Bosch Joep Gersjes NaN\n",
"geometry POINT (0 0)\n",
"Name: 2918, Length: 973, dtype: object\n",
"Stembureau 171\n",
"Adres \n",
"Locatie SB171\n",
"description Stembureau Stembureau Stembureau op locatie al...\n",
"Geldige stemmen 174\n",
" ... \n",
"\"Leefbaar 's-Hertogenbosch\" Paul Kagie NaN\n",
"RAADSGROEPERING ''BOSCH-BELANG'' NaN\n",
"gewoon ge-DREVEN NaN\n",
"VOOR Den Bosch Joep Gersjes NaN\n",
"geometry POINT (0 0)\n",
"Name: 3579, Length: 973, dtype: object\n",
"Stembureau 172\n",
"Adres \n",
"Locatie SB172\n",
"description Stembureau Stembureau Stembureau op locatie al...\n",
"Geldige stemmen 66\n",
" ... \n",
"\"Leefbaar 's-Hertogenbosch\" Paul Kagie NaN\n",
"RAADSGROEPERING ''BOSCH-BELANG'' NaN\n",
"gewoon ge-DREVEN NaN\n",
"VOOR Den Bosch Joep Gersjes NaN\n",
"geometry POINT (0 0)\n",
"Name: 3580, Length: 973, dtype: object\n",
"Stembureau 173\n",
"Adres \n",
"Locatie SB173\n",
"description Stembureau Stembureau Stembureau op locatie al...\n",
"Geldige stemmen 162\n",
" ... \n",
"\"Leefbaar 's-Hertogenbosch\" Paul Kagie NaN\n",
"RAADSGROEPERING ''BOSCH-BELANG'' NaN\n",
"gewoon ge-DREVEN NaN\n",
"VOOR Den Bosch Joep Gersjes NaN\n",
"geometry POINT (0 0)\n",
"Name: 3581, Length: 973, dtype: object\n",
"Stembureau 174\n",
"Adres \n",
"Locatie SB174\n",
"description Stembureau Stembureau Stembureau op locatie al...\n",
"Geldige stemmen 65\n",
" ... \n",
"\"Leefbaar 's-Hertogenbosch\" Paul Kagie NaN\n",
"RAADSGROEPERING ''BOSCH-BELANG'' NaN\n",
"gewoon ge-DREVEN NaN\n",
"VOOR Den Bosch Joep Gersjes NaN\n",
"geometry POINT (0 0)\n",
"Name: 3582, Length: 973, dtype: object\n",
"Stembureau 175\n",
"Adres \n",
"Locatie SB175\n",
"description Stembureau Stembureau Stembureau op locatie al...\n",
"Geldige stemmen 121\n",
" ... \n",
"\"Leefbaar 's-Hertogenbosch\" Paul Kagie NaN\n",
"RAADSGROEPERING ''BOSCH-BELANG'' NaN\n",
"gewoon ge-DREVEN NaN\n",
"VOOR Den Bosch Joep Gersjes NaN\n",
"geometry POINT (0 0)\n",
"Name: 3583, Length: 973, dtype: object\n",
"Stembureau 39\n",
"Adres \n",
"Locatie SB39\n",
"description Stembureau Mobiel stembureau met beperkte toeg...\n",
"Geldige stemmen 56\n",
" ... \n",
"\"Leefbaar 's-Hertogenbosch\" Paul Kagie NaN\n",
"RAADSGROEPERING ''BOSCH-BELANG'' NaN\n",
"gewoon ge-DREVEN NaN\n",
"VOOR Den Bosch Joep Gersjes NaN\n",
"geometry POINT (0 0)\n",
"Name: 5494, Length: 973, dtype: object\n",
"Stembureau 34\n",
"Adres \n",
"Locatie SB34\n",
"description Stembureau Stembureau Mobiel stembureau verzor...\n",
"Geldige stemmen 119\n",
" ... \n",
"\"Leefbaar 's-Hertogenbosch\" Paul Kagie NaN\n",
"RAADSGROEPERING ''BOSCH-BELANG'' NaN\n",
"gewoon ge-DREVEN NaN\n",
"VOOR Den Bosch Joep Gersjes NaN\n",
"geometry POINT (0 0)\n",
"Name: 5784, Length: 973, dtype: object\n",
"Stembureau 35\n",
"Adres \n",
"Locatie SB35\n",
"description Stembureau Stembureau Mobiel stembureau verzor...\n",
"Geldige stemmen 151\n",
" ... \n",
"\"Leefbaar 's-Hertogenbosch\" Paul Kagie NaN\n",
"RAADSGROEPERING ''BOSCH-BELANG'' NaN\n",
"gewoon ge-DREVEN NaN\n",
"VOOR Den Bosch Joep Gersjes NaN\n",
"geometry POINT (0 0)\n",
"Name: 5785, Length: 973, dtype: object\n",
"Stembureau 11\n",
"Adres \n",
"Locatie SB11\n",
"description Stembureau Mobiel stembureau Ommedijk\n",
"Geldige stemmen 14\n",
" ... \n",
"\"Leefbaar 's-Hertogenbosch\" Paul Kagie NaN\n",
"RAADSGROEPERING ''BOSCH-BELANG'' NaN\n",
"gewoon ge-DREVEN NaN\n",
"VOOR Den Bosch Joep Gersjes NaN\n",
"geometry POINT (0 0)\n",
"Name: 6260, Length: 973, dtype: object\n",
"Stembureau 12\n",
"Adres \n",
"Locatie SB12\n",
"description Stembureau Mobiel stembureau Van Alphenstaete ...\n",
"Geldige stemmen 68\n",
" ... \n",
"\"Leefbaar 's-Hertogenbosch\" Paul Kagie NaN\n",
"RAADSGROEPERING ''BOSCH-BELANG'' NaN\n",
"gewoon ge-DREVEN NaN\n",
"VOOR Den Bosch Joep Gersjes NaN\n",
"geometry POINT (0 0)\n",
"Name: 6261, Length: 973, dtype: object\n",
"Stembureau 70\n",
"Adres \n",
"Locatie SB70\n",
"description Stembureau Mobiel stembureau\n",
"Geldige stemmen 34\n",
" ... \n",
"\"Leefbaar 's-Hertogenbosch\" Paul Kagie NaN\n",
"RAADSGROEPERING ''BOSCH-BELANG'' NaN\n",
"gewoon ge-DREVEN NaN\n",
"VOOR Den Bosch Joep Gersjes NaN\n",
"geometry POINT (0 0)\n",
"Name: 6738, Length: 973, dtype: object\n",
"Stembureau 71\n",
"Adres \n",
"Locatie SB71\n",
"description Stembureau Mobiel stembureau\n",
"Geldige stemmen 43\n",
" ... \n",
"\"Leefbaar 's-Hertogenbosch\" Paul Kagie NaN\n",
"RAADSGROEPERING ''BOSCH-BELANG'' NaN\n",
"gewoon ge-DREVEN NaN\n",
"VOOR Den Bosch Joep Gersjes NaN\n",
"geometry POINT (0 0)\n",
"Name: 6739, Length: 973, dtype: object\n",
"Stembureau 699\n",
"Adres \n",
"Locatie SB699\n",
"description Stembureau Stembureau Mobiel stembureau\n",
"Geldige stemmen 59\n",
" ... \n",
"\"Leefbaar 's-Hertogenbosch\" Paul Kagie NaN\n",
"RAADSGROEPERING ''BOSCH-BELANG'' NaN\n",
"gewoon ge-DREVEN NaN\n",
"VOOR Den Bosch Joep Gersjes NaN\n",
"geometry POINT (0 0)\n",
"Name: 6863, Length: 973, dtype: object\n",
"Stembureau 32\n",
"Adres \n",
"Locatie SB32\n",
"description Stembureau Mobielstembureau\n",
"Geldige stemmen 63\n",
" ... \n",
"\"Leefbaar 's-Hertogenbosch\" Paul Kagie NaN\n",
"RAADSGROEPERING ''BOSCH-BELANG'' NaN\n",
"gewoon ge-DREVEN NaN\n",
"VOOR Den Bosch Joep Gersjes NaN\n",
"geometry POINT (0 0)\n",
"Name: 7348, Length: 973, dtype: object\n",
"Stembureau 90\n",
"Adres \n",
"Locatie SB90\n",
"description Stembureau Roll and Vote\n",
"Geldige stemmen 339\n",
" ... \n",
"\"Leefbaar 's-Hertogenbosch\" Paul Kagie NaN\n",
"RAADSGROEPERING ''BOSCH-BELANG'' NaN\n",
"gewoon ge-DREVEN NaN\n",
"VOOR Den Bosch Joep Gersjes NaN\n",
"geometry POINT (0 0)\n",
"Name: 7364, Length: 973, dtype: object\n",
"Stembureau 19\n",
"Adres \n",
"Locatie SB19\n",
"description Stembureau Mobiel stembureau\n",
"Geldige stemmen 77\n",
" ... \n",
"\"Leefbaar 's-Hertogenbosch\" Paul Kagie NaN\n",
"RAADSGROEPERING ''BOSCH-BELANG'' NaN\n",
"gewoon ge-DREVEN NaN\n",
"VOOR Den Bosch Joep Gersjes NaN\n",
"geometry POINT (0 0)\n",
"Name: 7857, Length: 973, dtype: object\n",
"Stembureau 1428\n",
"Adres \n",
"Locatie SB1428\n",
"description Stembureau Drive-thru parkeerplaats Rusheuvel 1\n",
"Geldige stemmen 163\n",
" ... \n",
"\"Leefbaar 's-Hertogenbosch\" Paul Kagie NaN\n",
"RAADSGROEPERING ''BOSCH-BELANG'' NaN\n",
"gewoon ge-DREVEN NaN\n",
"VOOR Den Bosch Joep Gersjes NaN\n",
"geometry POINT (0 0)\n",
"Name: 7912, Length: 973, dtype: object\n",
"Stembureau 1437\n",
"Adres \n",
"Locatie SB1437\n",
"description Stembureau Drive-thru parkeerplaats Rusheuvel 2\n",
"Geldige stemmen 239\n",
" ... \n",
"\"Leefbaar 's-Hertogenbosch\" Paul Kagie NaN\n",
"RAADSGROEPERING ''BOSCH-BELANG'' NaN\n",
"gewoon ge-DREVEN NaN\n",
"VOOR Den Bosch Joep Gersjes NaN\n",
"geometry POINT (0 0)\n",
"Name: 7913, Length: 973, dtype: object\n",
"Stembureau 1528\n",
"Adres \n",
"Locatie SB1528\n",
"description Stembureau Drive-thru parkeerplaats Rusheuvel 1\n",
"Geldige stemmen 323\n",
" ... \n",
"\"Leefbaar 's-Hertogenbosch\" Paul Kagie NaN\n",
"RAADSGROEPERING ''BOSCH-BELANG'' NaN\n",
"gewoon ge-DREVEN NaN\n",
"VOOR Den Bosch Joep Gersjes NaN\n",
"geometry POINT (0 0)\n",
"Name: 7923, Length: 973, dtype: object\n",
"Stembureau 1537\n",
"Adres \n",
"Locatie SB1537\n",
"description Stembureau Drive-thru parkeerplaats Rusheuvel 2\n",
"Geldige stemmen 208\n",
" ... \n",
"\"Leefbaar 's-Hertogenbosch\" Paul Kagie NaN\n",
"RAADSGROEPERING ''BOSCH-BELANG'' NaN\n",
"gewoon ge-DREVEN NaN\n",
"VOOR Den Bosch Joep Gersjes NaN\n",
"geometry POINT (0 0)\n",
"Name: 7924, Length: 973, dtype: object\n",
"Stembureau 1541\n",
"Adres \n",
"Locatie SB1541\n",
"description Stembureau Mobiel stembureau\n",
"Geldige stemmen 125\n",
" ... \n",
"\"Leefbaar 's-Hertogenbosch\" Paul Kagie NaN\n",
"RAADSGROEPERING ''BOSCH-BELANG'' NaN\n",
"gewoon ge-DREVEN NaN\n",
"VOOR Den Bosch Joep Gersjes NaN\n",
"geometry POINT (0 0)\n",
"Name: 7926, Length: 973, dtype: object\n",
"Stembureau 200\n",
"Adres \n",
"Locatie SB200\n",
"description Stembureau Mobiel stembureau Ma\n",
"Geldige stemmen 30\n",
" ... \n",
"\"Leefbaar 's-Hertogenbosch\" Paul Kagie NaN\n",
"RAADSGROEPERING ''BOSCH-BELANG'' NaN\n",
"gewoon ge-DREVEN NaN\n",
"VOOR Den Bosch Joep Gersjes NaN\n",
"geometry POINT (0 0)\n",
"Name: 7958, Length: 973, dtype: object\n",
"Stembureau 201\n",
"Adres \n",
"Locatie SB201\n",
"description Stembureau Mobiel stembureau Di\n",
"Geldige stemmen 30\n",
" ... \n",
"\"Leefbaar 's-Hertogenbosch\" Paul Kagie NaN\n",
"RAADSGROEPERING ''BOSCH-BELANG'' NaN\n",
"gewoon ge-DREVEN NaN\n",
"VOOR Den Bosch Joep Gersjes NaN\n",
"geometry POINT (0 0)\n",
"Name: 7959, Length: 973, dtype: object\n",
"Stembureau 202\n",
"Adres \n",
"Locatie SB202\n",
"description Stembureau Mobiel stembureau Woe\n",
"Geldige stemmen 44\n",
" ... \n",
"\"Leefbaar 's-Hertogenbosch\" Paul Kagie NaN\n",
"RAADSGROEPERING ''BOSCH-BELANG'' NaN\n",
"gewoon ge-DREVEN NaN\n",
"VOOR Den Bosch Joep Gersjes NaN\n",
"geometry POINT (0 0)\n",
"Name: 7960, Length: 973, dtype: object\n",
"Stembureau 30\n",
"Adres \n",
"Locatie SB30\n",
"description Stembureau Stembureau voor de telling stembure...\n",
"Geldige stemmen 2004\n",
" ... \n",
"\"Leefbaar 's-Hertogenbosch\" Paul Kagie NaN\n",
"RAADSGROEPERING ''BOSCH-BELANG'' NaN\n",
"gewoon ge-DREVEN NaN\n",
"VOOR Den Bosch Joep Gersjes NaN\n",
"geometry POINT (0 0)\n",
"Name: 8108, Length: 973, dtype: object\n",
"Stembureau 40\n",
"Adres \n",
"Locatie SB40\n",
"description Stembureau Stembureau voor de telling stembure...\n",
"Geldige stemmen 2953\n",
" ... \n",
"\"Leefbaar 's-Hertogenbosch\" Paul Kagie NaN\n",
"RAADSGROEPERING ''BOSCH-BELANG'' NaN\n",
"gewoon ge-DREVEN NaN\n",
"VOOR Den Bosch Joep Gersjes NaN\n",
"geometry POINT (0 0)\n",
"Name: 8109, Length: 973, dtype: object\n",
"Stembureau 990\n",
"Adres \n",
"Locatie SB990\n",
"description Stembureau Mobiel stembureau (meerdere plaatsen)\n",
"Geldige stemmen 47\n",
" ... \n",
"\"Leefbaar 's-Hertogenbosch\" Paul Kagie NaN\n",
"RAADSGROEPERING ''BOSCH-BELANG'' NaN\n",
"gewoon ge-DREVEN NaN\n",
"VOOR Den Bosch Joep Gersjes NaN\n",
"geometry POINT (0 0)\n",
"Name: 8161, Length: 973, dtype: object\n",
"Stembureau 991\n",
"Adres \n",
"Locatie SB991\n",
"description Stembureau Mobiel stembureau (meerdere plaatsen)\n",
"Geldige stemmen 70\n",
" ... \n",
"\"Leefbaar 's-Hertogenbosch\" Paul Kagie NaN\n",
"RAADSGROEPERING ''BOSCH-BELANG'' NaN\n",
"gewoon ge-DREVEN NaN\n",
"VOOR Den Bosch Joep Gersjes NaN\n",
"geometry POINT (0 0)\n",
"Name: 8162, Length: 973, dtype: object\n",
"Stembureau 992\n",
"Adres \n",
"Locatie SB992\n",
"description Stembureau Mobiel stembureau (meerdere plaatsen)\n",
"Geldige stemmen 39\n",
" ... \n",
"\"Leefbaar 's-Hertogenbosch\" Paul Kagie NaN\n",
"RAADSGROEPERING ''BOSCH-BELANG'' NaN\n",
"gewoon ge-DREVEN NaN\n",
"VOOR Den Bosch Joep Gersjes NaN\n",
"geometry POINT (0 0)\n",
"Name: 8163, Length: 973, dtype: object\n",
"Stembureau 17\n",
"Adres \n",
"Locatie SB17\n",
"description Stembureau Mobiel Stembureau dinsdag\n",
"Geldige stemmen 115\n",
" ... \n",
"\"Leefbaar 's-Hertogenbosch\" Paul Kagie NaN\n",
"RAADSGROEPERING ''BOSCH-BELANG'' NaN\n",
"gewoon ge-DREVEN NaN\n",
"VOOR Den Bosch Joep Gersjes NaN\n",
"geometry POINT (0 0)\n",
"Name: 8318, Length: 973, dtype: object\n",
"Stembureau 228\n",
"Adres \n",
"Locatie SB228\n",
"description Stembureau Stembureau Drive-in\n",
"Geldige stemmen 80\n",
" ... \n",
"\"Leefbaar 's-Hertogenbosch\" Paul Kagie NaN\n",
"RAADSGROEPERING ''BOSCH-BELANG'' NaN\n",
"gewoon ge-DREVEN NaN\n",
"VOOR Den Bosch Joep Gersjes NaN\n",
"geometry POINT (0 0)\n",
"Name: 9093, Length: 973, dtype: object\n",
"Stembureau 30\n",
"Adres \n",
"Locatie SB30\n",
"description Stembureau Mobiel stembureau\n",
"Geldige stemmen 25\n",
" ... \n",
"\"Leefbaar 's-Hertogenbosch\" Paul Kagie NaN\n",
"RAADSGROEPERING ''BOSCH-BELANG'' NaN\n",
"gewoon ge-DREVEN NaN\n",
"VOOR Den Bosch Joep Gersjes NaN\n",
"geometry POINT (0 0)\n",
"Name: 9151, Length: 973, dtype: object\n",
"Stembureau 31\n",
"Adres \n",
"Locatie SB31\n",
"description Stembureau Mobiel stembureau\n",
"Geldige stemmen 8\n",
" ... \n",
"\"Leefbaar 's-Hertogenbosch\" Paul Kagie NaN\n",
"RAADSGROEPERING ''BOSCH-BELANG'' NaN\n",
"gewoon ge-DREVEN NaN\n",
"VOOR Den Bosch Joep Gersjes NaN\n",
"geometry POINT (0 0)\n",
"Name: 9152, Length: 973, dtype: object\n",
"Stembureau 32\n",
"Adres \n",
"Locatie SB32\n",
"description Stembureau Mobiel stembureau\n",
"Geldige stemmen 24\n",
" ... \n",
"\"Leefbaar 's-Hertogenbosch\" Paul Kagie NaN\n",
"RAADSGROEPERING ''BOSCH-BELANG'' NaN\n",
"gewoon ge-DREVEN NaN\n",
"VOOR Den Bosch Joep Gersjes NaN\n",
"geometry POINT (0 0)\n",
"Name: 9153, Length: 973, dtype: object\n",
"Stembureau 76\n",
"Adres \n",
"Locatie SB76\n",
"description Stembureau Rondvaartboot Toerist VI\n",
"Geldige stemmen 148\n",
" ... \n",
"\"Leefbaar 's-Hertogenbosch\" Paul Kagie NaN\n",
"RAADSGROEPERING ''BOSCH-BELANG'' NaN\n",
"gewoon ge-DREVEN NaN\n",
"VOOR Den Bosch Joep Gersjes NaN\n",
"geometry POINT (0 0)\n",
"Name: 9661, Length: 973, dtype: object\n",
"Stembureau 68\n",
"Adres \n",
"Locatie SB68\n",
"description Stembureau Drive Inn (evenemententerrein Het L...\n",
"Geldige stemmen 285\n",
" ... \n",
"\"Leefbaar 's-Hertogenbosch\" Paul Kagie NaN\n",
"RAADSGROEPERING ''BOSCH-BELANG'' NaN\n",
"gewoon ge-DREVEN NaN\n",
"VOOR Den Bosch Joep Gersjes NaN\n",
"geometry POINT (0 0)\n",
"Name: 9853, Length: 973, dtype: object\n",
"Stembureau 14\n",
"Adres \n",
"Locatie SB14\n",
"description Stembureau Mobiel Stembureau\n",
"Geldige stemmen 24\n",
" ... \n",
"\"Leefbaar 's-Hertogenbosch\" Paul Kagie NaN\n",
"RAADSGROEPERING ''BOSCH-BELANG'' NaN\n",
"gewoon ge-DREVEN NaN\n",
"VOOR Den Bosch Joep Gersjes NaN\n",
"geometry POINT (0 0)\n",
"Name: 10427, Length: 973, dtype: object\n",
"Stembureau 18\n",
"Adres \n",
"Locatie SB18\n",
"description Stembureau Mobiel stembureau\n",
"Geldige stemmen 50\n",
" ... \n",
"\"Leefbaar 's-Hertogenbosch\" Paul Kagie NaN\n",
"RAADSGROEPERING ''BOSCH-BELANG'' NaN\n",
"gewoon ge-DREVEN NaN\n",
"VOOR Den Bosch Joep Gersjes NaN\n",
"geometry POINT (0 0)\n",
"Name: 10431, Length: 973, dtype: object\n",
"Stembureau 23\n",
"Adres \n",
"Locatie SB23\n",
"description Stembureau Stembureau Mobiel: Wkp Zout Veere\n",
"Geldige stemmen 55\n",
" ... \n",
"\"Leefbaar 's-Hertogenbosch\" Paul Kagie NaN\n",
"RAADSGROEPERING ''BOSCH-BELANG'' NaN\n",
"gewoon ge-DREVEN NaN\n",
"VOOR Den Bosch Joep Gersjes NaN\n",
"geometry POINT (0 0)\n",
"Name: 10497, Length: 973, dtype: object\n",
"Stembureau 24\n",
"Adres \n",
"Locatie SB24\n",
"description Stembureau Stembureau Mobiel: Okp Dom\n",
"Geldige stemmen 35\n",
" ... \n",
"\"Leefbaar 's-Hertogenbosch\" Paul Kagie NaN\n",
"RAADSGROEPERING ''BOSCH-BELANG'' NaN\n",
"gewoon ge-DREVEN NaN\n",
"VOOR Den Bosch Joep Gersjes NaN\n",
"geometry POINT (0 0)\n",
"Name: 10498, Length: 973, dtype: object\n",
"Stembureau 115\n",
"Adres \n",
"Locatie SB115\n",
"description Stembureau Tent Nijverheidslaan\n",
"Geldige stemmen 258\n",
" ... \n",
"\"Leefbaar 's-Hertogenbosch\" Paul Kagie NaN\n",
"RAADSGROEPERING ''BOSCH-BELANG'' NaN\n",
"gewoon ge-DREVEN NaN\n",
"VOOR Den Bosch Joep Gersjes NaN\n",
"geometry POINT (0 0)\n",
"Name: 10525, Length: 973, dtype: object\n",
"Stembureau 116\n",
"Adres \n",
"Locatie SB116\n",
"description Stembureau Tent Nijverheidslaan\n",
"Geldige stemmen 377\n",
" ... \n",
"\"Leefbaar 's-Hertogenbosch\" Paul Kagie NaN\n",
"RAADSGROEPERING ''BOSCH-BELANG'' NaN\n",
"gewoon ge-DREVEN NaN\n",
"VOOR Den Bosch Joep Gersjes NaN\n",
"geometry POINT (0 0)\n",
"Name: 10526, Length: 973, dtype: object\n",
"Stembureau 117\n",
"Adres \n",
"Locatie SB117\n",
"description Stembureau Tent Peter Benenson park\n",
"Geldige stemmen 285\n",
" ... \n",
"\"Leefbaar 's-Hertogenbosch\" Paul Kagie NaN\n",
"RAADSGROEPERING ''BOSCH-BELANG'' NaN\n",
"gewoon ge-DREVEN NaN\n",
"VOOR Den Bosch Joep Gersjes NaN\n",
"geometry POINT (0 0)\n",
"Name: 10527, Length: 973, dtype: object\n",
"Stembureau 118\n",
"Adres \n",
"Locatie SB118\n",
"description Stembureau Tent Peter Benenson park\n",
"Geldige stemmen 329\n",
" ... \n",
"\"Leefbaar 's-Hertogenbosch\" Paul Kagie NaN\n",
"RAADSGROEPERING ''BOSCH-BELANG'' NaN\n",
"gewoon ge-DREVEN NaN\n",
"VOOR Den Bosch Joep Gersjes NaN\n",
"geometry POINT (0 0)\n",
"Name: 10528, Length: 973, dtype: object\n",
"Stembureau 310\n",
"Adres \n",
"Locatie SB310\n",
"description Stembureau Mobiel Bijzonder stembureau 1\n",
"Geldige stemmen 26\n",
" ... \n",
"\"Leefbaar 's-Hertogenbosch\" Paul Kagie NaN\n",
"RAADSGROEPERING ''BOSCH-BELANG'' NaN\n",
"gewoon ge-DREVEN NaN\n",
"VOOR Den Bosch Joep Gersjes NaN\n",
"geometry POINT (0 0)\n",
"Name: 10623, Length: 973, dtype: object\n",
"Stembureau 311\n",
"Adres \n",
"Locatie SB311\n",
"description Stembureau Mobiel Bijzonder stembureau 2\n",
"Geldige stemmen 55\n",
" ... \n",
"\"Leefbaar 's-Hertogenbosch\" Paul Kagie NaN\n",
"RAADSGROEPERING ''BOSCH-BELANG'' NaN\n",
"gewoon ge-DREVEN NaN\n",
"VOOR Den Bosch Joep Gersjes NaN\n",
"geometry POINT (0 0)\n",
"Name: 10624, Length: 973, dtype: object\n",
"Stembureau 88\n",
"Adres \n",
"Locatie SB88\n",
"description Stembureau Mobiel stembureau 1\n",
"Geldige stemmen 78\n",
" ... \n",
"\"Leefbaar 's-Hertogenbosch\" Paul Kagie NaN\n",
"RAADSGROEPERING ''BOSCH-BELANG'' NaN\n",
"gewoon ge-DREVEN NaN\n",
"VOOR Den Bosch Joep Gersjes NaN\n",
"geometry POINT (0 0)\n",
"Name: 10894, Length: 973, dtype: object\n",
"Stembureau 89\n",
"Adres \n",
"Locatie SB89\n",
"description Stembureau Mobiel stembureau 2\n",
"Geldige stemmen 35\n",
" ... \n",
"\"Leefbaar 's-Hertogenbosch\" Paul Kagie NaN\n",
"RAADSGROEPERING ''BOSCH-BELANG'' NaN\n",
"gewoon ge-DREVEN NaN\n",
"VOOR Den Bosch Joep Gersjes NaN\n",
"geometry POINT (0 0)\n",
"Name: 10895, Length: 973, dtype: object\n",
"Stembureau 31\n",
"Adres \n",
"Locatie SB31\n",
"description Stembureau Stembureau Mobiel Stembureau\n",
"Geldige stemmen 32\n",
" ... \n",
"\"Leefbaar 's-Hertogenbosch\" Paul Kagie NaN\n",
"RAADSGROEPERING ''BOSCH-BELANG'' NaN\n",
"gewoon ge-DREVEN NaN\n",
"VOOR Den Bosch Joep Gersjes NaN\n",
"geometry POINT (0 0)\n",
"Name: 11032, Length: 973, dtype: object\n",
"Stembureau 0\n",
"Adres \n",
"Locatie SB0\n",
"description Stembureau -\n",
"Geldige stemmen 0\n",
" ... \n",
"\"Leefbaar 's-Hertogenbosch\" Paul Kagie NaN\n",
"RAADSGROEPERING ''BOSCH-BELANG'' NaN\n",
"gewoon ge-DREVEN NaN\n",
"VOOR Den Bosch Joep Gersjes NaN\n",
"geometry POINT (0 0)\n",
"Name: 11101, Length: 973, dtype: object\n",
"Stembureau 132\n",
"Adres \n",
"Locatie SB132\n",
"description Stembureau Stembureau IJsselhallen drive thoug...\n",
"Geldige stemmen 52\n",
" ... \n",
"\"Leefbaar 's-Hertogenbosch\" Paul Kagie NaN\n",
"RAADSGROEPERING ''BOSCH-BELANG'' NaN\n",
"gewoon ge-DREVEN NaN\n",
"VOOR Den Bosch Joep Gersjes NaN\n",
"geometry POINT (0 0)\n",
"Name: 12038, Length: 973, dtype: object\n",
"Stembureau 133\n",
"Adres \n",
"Locatie SB133\n",
"description Stembureau Stembureau IJsselhallen drive throu...\n",
"Geldige stemmen 48\n",
" ... \n",
"\"Leefbaar 's-Hertogenbosch\" Paul Kagie NaN\n",
"RAADSGROEPERING ''BOSCH-BELANG'' NaN\n",
"gewoon ge-DREVEN NaN\n",
"VOOR Den Bosch Joep Gersjes NaN\n",
"geometry POINT (0 0)\n",
"Name: 12039, Length: 973, dtype: object\n",
"Stembureau 232\n",
"Adres \n",
"Locatie SB232\n",
"description Stembureau Stembureau IJsselhallen drive thoug...\n",
"Geldige stemmen 113\n",
" ... \n",
"\"Leefbaar 's-Hertogenbosch\" Paul Kagie NaN\n",
"RAADSGROEPERING ''BOSCH-BELANG'' NaN\n",
"gewoon ge-DREVEN NaN\n",
"VOOR Den Bosch Joep Gersjes NaN\n",
"geometry POINT (0 0)\n",
"Name: 12053, Length: 973, dtype: object\n",
"Stembureau 233\n",
"Adres \n",
"Locatie SB233\n",
"description Stembureau Stembureau IJsselhallen drive throu...\n",
"Geldige stemmen 73\n",
" ... \n",
"\"Leefbaar 's-Hertogenbosch\" Paul Kagie NaN\n",
"RAADSGROEPERING ''BOSCH-BELANG'' NaN\n",
"gewoon ge-DREVEN NaN\n",
"VOOR Den Bosch Joep Gersjes NaN\n",
"geometry POINT (0 0)\n",
"Name: 12054, Length: 973, dtype: object\n",
"Stembureau 358\n",
"Adres \n",
"Locatie SB358\n",
"description Stembureau Stembureau Mobiel stembureau 1\n",
"Geldige stemmen 70\n",
" ... \n",
"\"Leefbaar 's-Hertogenbosch\" Paul Kagie NaN\n",
"RAADSGROEPERING ''BOSCH-BELANG'' NaN\n",
"gewoon ge-DREVEN NaN\n",
"VOOR Den Bosch Joep Gersjes NaN\n",
"geometry POINT (0 0)\n",
"Name: 12118, Length: 973, dtype: object\n",
"Stembureau 359\n",
"Adres \n",
"Locatie SB359\n",
"description Stembureau Stembureau Mobiel stembureau 2\n",
"Geldige stemmen 169\n",
" ... \n",
"\"Leefbaar 's-Hertogenbosch\" Paul Kagie NaN\n",
"RAADSGROEPERING ''BOSCH-BELANG'' NaN\n",
"gewoon ge-DREVEN NaN\n",
"VOOR Den Bosch Joep Gersjes NaN\n",
"geometry POINT (0 0)\n",
"Name: 12119, Length: 973, dtype: object\n",
"Stembureau 360\n",
"Adres \n",
"Locatie SB360\n",
"description Stembureau Stembureau Mobiel stembureau 3\n",
"Geldige stemmen 89\n",
" ... \n",
"\"Leefbaar 's-Hertogenbosch\" Paul Kagie NaN\n",
"RAADSGROEPERING ''BOSCH-BELANG'' NaN\n",
"gewoon ge-DREVEN NaN\n",
"VOOR Den Bosch Joep Gersjes NaN\n",
"geometry POINT (0 0)\n",
"Name: 12120, Length: 973, dtype: object\n",
"Stembureau 361\n",
"Adres \n",
"Locatie SB361\n",
"description Stembureau Stembureau Mobiel stembureau 4\n",
"Geldige stemmen 36\n",
" ... \n",
"\"Leefbaar 's-Hertogenbosch\" Paul Kagie NaN\n",
"RAADSGROEPERING ''BOSCH-BELANG'' NaN\n",
"gewoon ge-DREVEN NaN\n",
"VOOR Den Bosch Joep Gersjes NaN\n",
"geometry POINT (0 0)\n",
"Name: 12121, Length: 973, dtype: object\n",
"Stembureau 114\n",
"Adres \n",
"Locatie SB114\n",
"description Stembureau Stembureau Mobiel stembureau (beper...\n",
"Geldige stemmen 109\n",
" ... \n",
"\"Leefbaar 's-Hertogenbosch\" Paul Kagie 11.0\n",
"RAADSGROEPERING ''BOSCH-BELANG'' 8.0\n",
"gewoon ge-DREVEN 0.0\n",
"VOOR Den Bosch Joep Gersjes 1.0\n",
"geometry POINT (0 0)\n",
"Name: 12504, Length: 973, dtype: object\n",
"Stembureau 115\n",
"Adres \n",
"Locatie SB115\n",
"description Stembureau Stembureau Mobiel Stembureau (beper...\n",
"Geldige stemmen 80\n",
" ... \n",
"\"Leefbaar 's-Hertogenbosch\" Paul Kagie 9.0\n",
"RAADSGROEPERING ''BOSCH-BELANG'' 5.0\n",
"gewoon ge-DREVEN 0.0\n",
"VOOR Den Bosch Joep Gersjes 3.0\n",
"geometry POINT (0 0)\n",
"Name: 12505, Length: 973, dtype: object\n",
"Stembureau 116\n",
"Adres \n",
"Locatie SB116\n",
"description Stembureau Stembureau Mobiel Stembureau (beper...\n",
"Geldige stemmen 119\n",
" ... \n",
"\"Leefbaar 's-Hertogenbosch\" Paul Kagie 3.0\n",
"RAADSGROEPERING ''BOSCH-BELANG'' 3.0\n",
"gewoon ge-DREVEN 20.0\n",
"VOOR Den Bosch Joep Gersjes 3.0\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": [
"Het zijn dus duidelijk allemaal mobiele stembureaus, 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 stembureaus, en de mobiele stembureaus alleen."
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/tmp/ipykernel_39610/291552514.py:3: UserWarning: Geometry is in a geographic CRS. Results from 'centroid' are likely incorrect. Use 'GeoSeries.to_crs()' to re-project geometries to a projected CRS before this operation.\n",
"\n",
" mobiel_mask = df_geojson['geometry'].centroid.x == 0\n"
]
},
{
"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": [
"#de waarschuwing over de projectie die niet klopt kan genegeerd worden, we zoeken naar data die x = 0 is, de projectie gaat geen effect hebben op die data in Nederland\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": 34,
"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",
" Geldige volmachtbewijzen ... \\\n",
"0 90 ... \n",
"1 44 ... \n",
"2 54 ... \n",
"3 166 ... \n",
"4 51 ... \n",
"... ... ... \n",
"12591 32 ... \n",
"12592 40 ... \n",
"12593 113 ... \n",
"12594 19 ... \n",
"12595 29 ... \n",
"\n",
" Nationale Bond tegen Overheidszaken - DH Haags Belang INL Den Haag \\\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 NaN \n",
"12592 NaN NaN NaN \n",
"12593 NaN NaN NaN \n",
"12594 NaN NaN NaN \n",
"12595 NaN NaN NaN \n",
"\n",
" Rosmalens Belang De Bossche Groenen \\\n",
"0 NaN NaN \n",
"1 NaN NaN \n",
"2 NaN NaN \n",
"3 NaN NaN \n",
"4 NaN NaN \n",
"... ... ... \n",
"12591 105.0 2.0 \n",
"12592 174.0 6.0 \n",
"12593 47.0 19.0 \n",
"12594 8.0 11.0 \n",
"12595 10.0 2.0 \n",
"\n",
" \"Leefbaar 's-Hertogenbosch\" Paul Kagie \\\n",
"0 NaN \n",
"1 NaN \n",
"2 NaN \n",
"3 NaN \n",
"4 NaN \n",
"... ... \n",
"12591 6.0 \n",
"12592 2.0 \n",
"12593 53.0 \n",
"12594 13.0 \n",
"12595 22.0 \n",
"\n",
" RAADSGROEPERING ''BOSCH-BELANG'' gewoon ge-DREVEN \\\n",
"0 NaN NaN \n",
"1 NaN NaN \n",
"2 NaN NaN \n",
"3 NaN NaN \n",
"4 NaN NaN \n",
"... ... ... \n",
"12591 0.0 33.0 \n",
"12592 3.0 31.0 \n",
"12593 2.0 62.0 \n",
"12594 1.0 22.0 \n",
"12595 2.0 28.0 \n",
"\n",
" VOOR Den Bosch Joep Gersjes geometry \n",
"0 NaN POINT (6.75899 53.00524) \n",
"1 NaN POINT (6.75990 52.99975) \n",
"2 NaN POINT (6.76600 53.00494) \n",
"3 NaN POINT (6.64736 52.98281) \n",
"4 NaN POINT (6.60459 52.95269) \n",
"... ... ... \n",
"12591 0.0 POINT (5.43290 51.72810) \n",
"12592 2.0 POINT (5.43290 51.72810) \n",
"12593 5.0 POINT (5.45919 51.70595) \n",
"12594 1.0 POINT (5.45919 51.70595) \n",
"12595 0.0 POINT (5.45919 51.70595) \n",
"\n",
"[12532 rows x 973 columns]\n",
" Stembureau Adres Locatie \\\n",
"2520 32 SB32 \n",
"2521 33 SB33 \n",
"2918 157 SB157 \n",
"3579 171 SB171 \n",
"3580 172 SB172 \n",
"... ... ... ... \n",
"12120 360 SB360 \n",
"12121 361 SB361 \n",
"12504 114 SB114 \n",
"12505 115 SB115 \n",
"12506 116 SB116 \n",
"\n",
" description Geldige stemmen \\\n",
"2520 Stembureau Mobiel Stembureau 1 99 \n",
"2521 Stembureau Mobiel Stembureau 2 115 \n",
"2918 Stembureau Stembureau Stembus 72 \n",
"3579 Stembureau Stembureau Stembureau op locatie al... 174 \n",
"3580 Stembureau Stembureau Stembureau op locatie al... 66 \n",
"... ... ... \n",
"12120 Stembureau Stembureau Mobiel stembureau 3 89 \n",
"12121 Stembureau Stembureau Mobiel stembureau 4 36 \n",
"12504 Stembureau Stembureau Mobiel stembureau (beper... 109 \n",
"12505 Stembureau Stembureau Mobiel Stembureau (beper... 80 \n",
"12506 Stembureau Stembureau Mobiel Stembureau (beper... 119 \n",
"\n",
" Opgeroepen Ongeldig Blanco Geldige stempassen \\\n",
"2520 0 0 0 98 \n",
"2521 0 1 0 112 \n",
"2918 0 1 1 69 \n",
"3579 1 1 1 174 \n",
"3580 1 0 0 63 \n",
"... ... ... ... ... \n",
"12120 204 0 0 85 \n",
"12121 205 0 0 34 \n",
"12504 0 1 0 107 \n",
"12505 0 0 0 79 \n",
"12506 0 0 0 109 \n",
"\n",
" Geldige volmachtbewijzen ... \\\n",
"2520 1 ... \n",
"2521 4 ... \n",
"2918 5 ... \n",
"3579 3 ... \n",
"3580 3 ... \n",
"... ... ... \n",
"12120 4 ... \n",
"12121 2 ... \n",
"12504 3 ... \n",
"12505 2 ... \n",
"12506 10 ... \n",
"\n",
" Nationale Bond tegen Overheidszaken - DH Haags Belang INL Den Haag \\\n",
"2520 NaN NaN NaN \n",
"2521 NaN NaN NaN \n",
"2918 NaN NaN NaN \n",
"3579 NaN NaN NaN \n",
"3580 NaN NaN NaN \n",
"... ... ... ... \n",
"12120 NaN NaN NaN \n",
"12121 NaN NaN NaN \n",
"12504 NaN NaN NaN \n",
"12505 NaN NaN NaN \n",
"12506 NaN NaN NaN \n",
"\n",
" Rosmalens Belang De Bossche Groenen \\\n",
"2520 NaN NaN \n",
"2521 NaN NaN \n",
"2918 NaN NaN \n",
"3579 NaN NaN \n",
"3580 NaN NaN \n",
"... ... ... \n",
"12120 NaN NaN \n",
"12121 NaN NaN \n",
"12504 0.0 2.0 \n",
"12505 0.0 4.0 \n",
"12506 15.0 0.0 \n",
"\n",
" \"Leefbaar 's-Hertogenbosch\" Paul Kagie \\\n",
"2520 NaN \n",
"2521 NaN \n",
"2918 NaN \n",
"3579 NaN \n",
"3580 NaN \n",
"... ... \n",
"12120 NaN \n",
"12121 NaN \n",
"12504 11.0 \n",
"12505 9.0 \n",
"12506 3.0 \n",
"\n",
" RAADSGROEPERING ''BOSCH-BELANG'' gewoon ge-DREVEN \\\n",
"2520 NaN NaN \n",
"2521 NaN NaN \n",
"2918 NaN NaN \n",
"3579 NaN NaN \n",
"3580 NaN NaN \n",
"... ... ... \n",
"12120 NaN NaN \n",
"12121 NaN NaN \n",
"12504 8.0 0.0 \n",
"12505 5.0 0.0 \n",
"12506 3.0 20.0 \n",
"\n",
" VOOR Den Bosch Joep Gersjes geometry \n",
"2520 NaN POINT (0.00000 0.00000) \n",
"2521 NaN POINT (0.00000 0.00000) \n",
"2918 NaN POINT (0.00000 0.00000) \n",
"3579 NaN POINT (0.00000 0.00000) \n",
"3580 NaN POINT (0.00000 0.00000) \n",
"... ... ... \n",
"12120 NaN POINT (0.00000 0.00000) \n",
"12121 NaN POINT (0.00000 0.00000) \n",
"12504 1.0 POINT (0.00000 0.00000) \n",
"12505 3.0 POINT (0.00000 0.00000) \n",
"12506 3.0 POINT (0.00000 0.00000) \n",
"\n",
"[64 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_mobiel)"
]
},
{
"cell_type": "code",
"execution_count": 37,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<AxesSubplot:>"
]
},
"execution_count": 37,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAfoAAAI/CAYAAACf2BvTAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAAsTAAALEwEAmpwYAAEAAElEQVR4nOz9eZwd1Xnnj39OVd2qu3Wr1epuoR0JCZBJItmWECCDLQthEEtM4niJAVvYaGzCJDYkM/Ew85v5zQzjeEFgh+CJwJYN8hLHiRKMWSxwY7AEQgJL8TiAJdS01Fp6Vav7rnVv1fn+UX2q69atU8u9txdJ5/16+WXUfZe6davrOed5Ps/nIZRSCAQCgUAgODuRpvoABAKBQCAQTBwi0AsEAoFAcBYjAr1AIBAIBGcxItALBAKBQHAWIwK9QCAQCARnMSLQCwQCgUBwFqNM9QF40dbWRs8///ypPgyBQCAQCM4IXnvttQFKabvX76ZloD///POxb9++qT4MgUAgEAjOCAgh3bzfidS9QCAQCARnMSLQCwQCgUBwFiMCvUAgEAgEZzEi0AsEAoFAcBYjAr1AIBAIBGcxItALBAKBQHAWIwK9QCAQCARnMSLQCwQCgUBwFiMCvUAgEAgEZzEi0AsEAoFAcBYjAr1AIBAIBGcxItALBAKBQHAWIwK9QCAQCARnMSLQCwQCgUBwFiMCvUAgEAgEZzEi0AsEAoFAcBYjAr1AIBAIBGcxItALBAKBQHAWIwK9QCAQCARnMSLQCwQCgUBwFiMCvUAgEAgEZzEi0AsEAoFAcBYjAr1AIBAIJhVKKSilU30Y5wzKVB+AQCAQCM4dTNPEsWPHQCnF/PnzIUlivznRiEAvEAgEAk8KhQLK5TIAgBACQkhd/63rOo4cOYJCoQAAeOedd7Bw4UIoighFE4k4uwKBQCCooFQqobe3F8PDwxP6PrlcDm+//TYWLFiAZDI5oe91LiMCvUAgEAgAWGn1gYEB9Pf3+9bQE4kEyuUySqVS3e9ZKpVw+PBhdHR0oL293c4CCBqHCPQCgUBwjkMpxfDwMHp7e+1UvReEEMTjcZimCcMwEIvFGhLsAaCvrw+ZTAbz58+HqqoNeU2BhQj0AoFAcA6TzWZx4sQJu27uRywWQz6fRyKRQDweh2EY3McqigJZlgFYC4RSqeT7eMBK5R86dAhz5sxBS0uL2N03CCF3FAgEgnOQcrmMEydOoKurK1SQZ88BgHw+j3K5DFmWkUwmEY/HKx6nKApUVYUkSTAMA5IkIRaLharDM1X+0aNHfbMLgvCIHb1AIBCcY2QyGfT09EROkWuahnw+j1QqBUqpncJngZyl8WVZRi6Xs5/HAjbb4YdhZGQE2WwW8+bNQ3Nzc6TjFFQiAr1AIBCc5VBKUS6XUSwWMTo6isHBQQCIHOjz+TxisZj9Wjycv2Otc+VyOTB178YwDBw5cgQtLS2YM2dOpIWCYJxQgZ4Q8g6AUQAGgDKldBUh5H8B+EMAJoA+AJ+mlB4P89zGHLpAIBCcvVBKceTIESQSCaTTaSQSicCatWEYKBaL0HW96v9N06x6fLlctoO9u5edLQ7cYrtYLBbJ1U5RFEiSVFcafnh4GNlsFgsXLkQikaj5dc5VSJgvbCxYr6KUDjh+1kwpHRn77z8H8C5K6efCPDeIVatW0X379oV9uEAgEJx1jI6Ooru72/63JElIJpNIpVJIJpMwDMMO5CyYhw2msVgMsVgMAOwUPHsPtuuWZdkz0BNCpsy+lhCC8847D62trUKo54IQ8hpvI11z6p4F+TFSAIRxsUAgEDQIt1mNaZrIZDLIZDKhX0OWZft/hBCYpolSqWT/D7CCezweB6UUuq7bgT6RSHi2zk2lRz2lFCdOnLBr9yKVH46wgZ4C+DkhhAL4e0rpVgAghNwH4DYApwGsi/JcgUAgEHhjGAZGRka4vyeE2O1rzCue7cyZQI79v1ddnBneSJKEYrFYIZxzvsd0ZWRkBPl8XjjqhSRse91aSul7AFwH4M8IIVcBAKX0XkrpAgDfB3BXlOe6IYRsJoTsI4Ts6+/vj/YpBAKB4CyBUorTp09X7JxZ2p7tYCmlKJVKKBQKyOVyyOVyyOfzKBaLKJVKnvV4AEgmk7ZynvW1szY4N7zXmC4wR72+vj4xCS+AUDX6iicQ8j8AZCilX3f8bBGAn1FKfy/qc70QNXqBQBAGtrObOXPmtHVTo5Qin88jn8/bP2O7ZXcqvVQqVdTZJUmCpmn4+e9O4Tv7BjCQNdCWknHbyhasW5wO9f6apkGWZRSLxardfSKRsI+L1exlWYZhGA1zvJsMkskkFi1adE6n8uuq0RNCUgAkSuno2H9fA+B/EkKWUUoPjj3sJgBvhn1urR9EIBAIAEDXdZw4cQKjo6MAgP7+fjQ1NaG1tRXpdHrK086maSKbzWJ0dBQjIyO2ul3X9YrHxeNxrlmNqqqQZRk/f2sID+7qR9GwNmX9WQMPvTIEABXB3i2SYyp6vzY4Jyywn0kBnpHL5XDkyBEsWrRIjL31IEyNfjaAHWN/OAqAH1BKnyGE/BMh5CJY7XXdAD4HAISQuQAepZRu5D238R9DIBCcC/gNXRkdHcXo6ChisRhaW1sxc+bMCRt/ylLnvP95tbN5ZU/9ghI79u+8NmgHeUbRoHhs/7Ad6CVJAqXU/n9N01AsFs+plHY2m8XRo0excOHCKV/oTTcC/woopYcBrPD4+R9zHn8cwEa/5woEAkFURkdHceLEiapdsRs2YrWvrw/Nzc1obW1FMpn0vPlTSitEbE4hm/Pffun1WmH96JIkcevhhBAMZL1NZgayht0m52yRMwwjtKXt2cbo6CiOHz+OuXPnimDvQDjjCQSCaYtpmhgZGbFr8UFp5Xg8DkIICCEoFAo4ffo0Tp8+DU3ToCiKZzCvB0IIJEmq2Jmz1+XtpuPxOHRdt48nHo97qt4Ba5fanlLQl61eWLSnlIo2OYHFqVOnIMsyOjo6RBp/DBHoBQLBtIJSimw2i+HhYYyMjNjBmBCCZDLJDYpev4vH4/bNngX3UqnkGYQ7uzJ4bP8wBrIG2tMKPrO6HVcvnWHvDL3a1yilni1sTETn3lnHYjFb6c5EcLz2MHaMt66cgYf2DKFYHj9mTSa4deUM7xN4hiPLsu2mx3QHpmnaiyq3MRAhxDb3YQwMDODUqVNobm62n9fc3BzKXfBsRAR6gUAw5VBK7R348PCwZ2qcUopcLlehFGfsOqbj0Vd7qlTpvBS2JEn45TtZbHttCP3ZMpo0CVndBCuF92XK2PLiSei67qtuj8ViFToAQohtQ+sO/qxMEIvFKo6Ll1Vgn3Hd4jQkScJ3Xx+qSXXvx3So4bOuAObCx+v9dxKPx+0FlyzL0HUdyWQShULBPs+GYeDUqVP2cwYGBtDa2orzzjvvnNvpR26vmwxEe51AcPbDAjdLzUdJQTuD/a5jOra8eLJCsEZQadWpycBdl82yg2NnVwYPvTJUJXJz056Sse3m+VU/Z2NYedkFJ7FYzDam8WIqLWX9VP8TCesocDrx1QI7d8lksiLbwrwC3Oc1Ho+jubkZHR0d9X6EaceEWOAKBAJBVFhangV3r507c3tj6XEvnMHh26/2VwVsd9gsGsCWXdbEtnWL03hs/3BgkAdgC+HYzp0NemH/CyKZTHoGnIpjpXRKAq6fCHAiIITYVruN+qzsvDKXP2B8RK6iKCCEVCwgi8Ui+vv70draOmEdGdORc+eTCgSCKYH1lJ8+fRqjo6NVOzhWR2dDWpypW6Yqd++cdV23d/X9HkI1LyiAx/efxnXL27hKdjftactmNqroTdM0O2MRhslKJbuDbVAHQ6NgaXV3yaURVGgrUgo+c2k7PrikCcViEbIs262G7P8BYGho6Kzc1fMQgV4gEDQc0zRts5jR0dGKnSMTqgHWDsu9u2O94KxXPRaL2W5tTtiOmqdK96I/W0ahUEBbSkZ/QLDXZIJbV8yoObUcJYg2ol2Phzu4T0SwdSJJkm2rywblhF3w8HAGc6dGwV2C6ctWaitYGh9AhWve8PCwCPQCgUAQhXK5bNu85vN
"text/plain": [
"<Figure size 720x720 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"fig, ax = plt.subplots(figsize = (10,10))\n",
"nl_map.to_crs(epsg=4326).plot(ax=ax, color='lightgrey')\n",
"df_geojson_clean.plot(ax=ax)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Nu we een mooie kaart hebben van nederland met de stemlokalen erop, kunnen we gaan kijken naar hoe dit verhoud met de bevolkingsdichtheid als eerste voorbeeld. De kaart is opgehaald van het CBS, eerst gaan we kijken hoe de kaart er op zichzelf met dezelfde projectie uitziet."
]
},
{
"cell_type": "code",
"execution_count": 39,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<AxesSubplot:>"
]
},
"execution_count": 39,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"nl_map_dst = gpd.read_file(r'../data/shape/Netherlands_shapefile/NL_vierkant100m.shp')\n",
"nl_map_dst.to_crs(epsg=4326).plot(color = green)"
]
},
{
"cell_type": "code",
"execution_count": 47,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" C28992R100 geometry\n",
"0 E2266N6194 POLYGON ((226600.000 619400.000, 226600.000 61...\n",
"1 E2267N6194 POLYGON ((226700.000 619500.000, 226800.000 61...\n",
"2 E2268N6194 POLYGON ((226800.000 619500.000, 226900.000 61...\n",
"3 E2269N6194 POLYGON ((226900.000 619500.000, 227000.000 61...\n",
"4 E2270N6194 POLYGON ((227000.000 619500.000, 227100.000 61...\n",
"... ... ...\n",
"3723283 E1927N3068 POLYGON ((192700.000 306900.000, 192800.000 30...\n",
"3723284 E1921N3067 POLYGON ((192100.000 306800.000, 192200.000 30...\n",
"3723285 E1922N3067 POLYGON ((192200.000 306800.000, 192300.000 30...\n",
"3723286 E1923N3067 POLYGON ((192300.000 306800.000, 192400.000 30...\n",
"3723287 E1924N3067 POLYGON ((192400.000 306800.000, 192500.000 30...\n",
"\n",
"[3723288 rows x 2 columns]\n"
]
}
],
"source": [
"print(nl_map_dst)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
2022-03-29 17:09:52 +02:00
"source": [
"df_wims = pd.read_csv(r'../data/wims.csv')\n",
"print(df_wims)\n",
"dfwims."
]
},
{
"cell_type": "code",
"execution_count": null,
"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)\n"
]
},
{
"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. "
2022-03-29 17:09:40 +02:00
]
}
],
"metadata": {
"interpreter": {
"hash": "3d1ccb9efb47efc90847d5703ae4e5663eea6663e461c6dfd943b50a653adc65"
},
"kernelspec": {
"display_name": "Python 3.9.7 ('base')",
"language": "python",
"name": "python3"
},
"language_info": {
2022-03-29 17:09:52 +02:00
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
2022-03-29 17:09:40 +02:00
"name": "python",
2022-03-29 17:09:52 +02:00
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.11"
2022-03-29 17:09:40 +02:00
},
"orig_nbformat": 4
},
"nbformat": 4,
"nbformat_minor": 2
}