stembureau-meting/jupyter/stembureau_data.ipynb
2022-04-20 13:03:38 +02:00

1.4 MiB
Raw Blame History

None <html lang="en"> <head> gitea_input1837031678 </head>

Data gemeenteraadsverkiezingen 2022 Nederland

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:

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 stemlokalen al in een lijst, en we hebben een makkelijk framework om het te importeren; geopandas. We laden deze dan ook als eerste in.

In [1]:
import pandas as pd
import geopandas as gpd

crs = {'init':'EPSG:4326'}
df_geojson = gpd.read_file(r'../data/2022gr.geo.json', crs=crs)
/home/lillian/.local/lib/python3.9/site-packages/fiona/collection.py:208: FeatureWarning: Empty field name at index 61
  self._schema = self.session.get_schema()
/home/lillian/anaconda3/lib/python3.9/site-packages/geopandas/geodataframe.py:600: UserWarning: Empty field name at index 61
  for feature in features_lst:

We importeren nu de gemeente shapefile kaart van het CBS, om de overlay van onze stemlokalen eroverheen te kunnen doen.

In [2]:
nl_map = gpd.read_file(r'../data/shape/Netherlands_shapefile/gemeente_2021_v1.shp')
nl_map.to_crs(epsg=4326).plot()
Out[2]:
<AxesSubplot:>
No description has been provided for this image
In [3]:
print(nl_map)
    GM_CODE            GM_NAAM  H2O       OAD      STED  BEV_DICHTH  AANT_INW  \
0    GM0034             Almere   JA -99999999 -99999999   -99999999 -99999999   
1    GM0050           Zeewolde   JA -99999999 -99999999   -99999999 -99999999   
2    GM0060            Ameland   JA -99999999 -99999999   -99999999 -99999999   
3    GM0072          Harlingen   JA -99999999 -99999999   -99999999 -99999999   
4    GM0088    Schiermonnikoog   JA -99999999 -99999999   -99999999 -99999999   
..      ...                ...  ...       ...       ...         ...       ...   
430  GM1966       Het Hogeland  NEE       414         5          99     47834   
431  GM1969     Westerkwartier  NEE       476         5         176     63678   
432  GM1970  Noardeast-Fryslân  NEE       463         5         120     45481   
433  GM1978        Molenlanden  NEE       393         5         243     44130   
434  GM1979          Eemsdelta  NEE       692         4         170     45587   

     AANT_MAN  AANT_VROUW  P_00_14_JR  ...  P_TURKIJE  P_OVER_NW   OPP_TOT  \
0   -99999999   -99999999   -99999999  ...  -99999999  -99999999 -99999999   
1   -99999999   -99999999   -99999999  ...  -99999999  -99999999 -99999999   
2   -99999999   -99999999   -99999999  ...  -99999999  -99999999 -99999999   
3   -99999999   -99999999   -99999999  ...  -99999999  -99999999 -99999999   
4   -99999999   -99999999   -99999999  ...  -99999999  -99999999 -99999999   
..        ...         ...         ...  ...        ...        ...       ...   
430     24052       23782          15  ...          0          3     90308   
431     32034       31644          17  ...          0          3     36887   
432     22879       22602          17  ...          0          2     51645   
433     22317       21813          18  ...          0          2     19158   
434     22841       22746          14  ...          2          5     36407   

     OPP_LAND  OPP_WATER  JRSTATCODE  JAAR     Shape_Leng    Shape_Area  \
0   -99999999  -99999999  2021GM0034  2021  122665.358635  1.095623e+08   
1   -99999999  -99999999  2021GM0050  2021   83290.773617  1.633050e+07   
2   -99999999  -99999999  2021GM0060  2021  156406.894023  2.085914e+08   
3   -99999999  -99999999  2021GM0072  2021  104274.683035  3.618323e+08   
4   -99999999  -99999999  2021GM0088  2021  152568.858991  1.624101e+08   
..        ...        ...         ...   ...            ...           ...   
430     48249      42059  2021GM1966  2021  321301.166576  4.875998e+08   
431     36269        618  2021GM1969  2021   99030.762281  3.688457e+08   
432     37783      13862  2021GM1970  2021  238426.959926  3.837930e+08   
433     18173        986  2021GM1978  2021   88570.376691  1.915841e+08   
434     26789       9618  2021GM1979  2021  173966.493452  2.727771e+08   

                                              geometry  
0    MULTIPOLYGON (((150213.998 479503.726, 150087....  
1    MULTIPOLYGON (((170588.413 486792.192, 170570....  
2    POLYGON ((196000.000 610000.000, 196000.000 60...  
3    MULTIPOLYGON (((158392.775 580357.500, 158387....  
4    POLYGON ((219000.000 616567.418, 219000.000 61...  
..                                                 ...  
430  MULTIPOLYGON (((217037.735 601967.991, 217043....  
431  POLYGON ((215186.661 595044.495, 215190.788 59...  
432  MULTIPOLYGON (((207769.575 603284.528, 207773....  
433  POLYGON ((123569.533 440132.167, 123576.153 44...  
434  MULTIPOLYGON (((269190.000 594253.046, 269190....  

[435 rows x 38 columns]
In [4]:
import matplotlib.pyplot as plt

fig, ax = plt.subplots(figsize = (10,10))
nl_map.to_crs(epsg=4326).plot(ax=ax, color='lightgrey')
df_geojson.plot(ax=ax)
Out[4]:
<AxesSubplot:>
No description has been provided for this image

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.

In [5]:
for index, row in df_geojson.iterrows():
    if (row.geometry.centroid.x == 0.00000):
        print(row)
Stembureau                                                            32
Adres                                                                   
Locatie                                                             SB32
description                               Stembureau Mobiel Stembureau 1
Geldige stemmen                                                       99
                                                       ...              
"Leefbaar 's-Hertogenbosch" Paul Kagie                               NaN
RAADSGROEPERING ''BOSCH-BELANG''                                     NaN
gewoon ge-DREVEN                                                     NaN
VOOR Den Bosch Joep Gersjes                                          NaN
geometry                                                     POINT (0 0)
Name: 2520, Length: 973, dtype: object
Stembureau                                                            33
Adres                                                                   
Locatie                                                             SB33
description                               Stembureau Mobiel Stembureau 2
Geldige stemmen                                                      115
                                                       ...              
"Leefbaar 's-Hertogenbosch" Paul Kagie                               NaN
RAADSGROEPERING ''BOSCH-BELANG''                                     NaN
gewoon ge-DREVEN                                                     NaN
VOOR Den Bosch Joep Gersjes                                          NaN
geometry                                                     POINT (0 0)
Name: 2521, Length: 973, dtype: object
Stembureau                                                          157
Adres                                                                  
Locatie                                                           SB157
description                               Stembureau Stembureau Stembus
Geldige stemmen                                                      72
                                                      ...              
"Leefbaar 's-Hertogenbosch" Paul Kagie                              NaN
RAADSGROEPERING ''BOSCH-BELANG''                                    NaN
gewoon ge-DREVEN                                                    NaN
VOOR Den Bosch Joep Gersjes                                         NaN
geometry                                                    POINT (0 0)
Name: 2918, Length: 973, dtype: object
Stembureau                                                                              171
Adres                                                                                      
Locatie                                                                               SB171
description                               Stembureau Stembureau Stembureau op locatie al...
Geldige stemmen                                                                         174
                                                                ...                        
"Leefbaar 's-Hertogenbosch" Paul Kagie                                                  NaN
RAADSGROEPERING ''BOSCH-BELANG''                                                        NaN
gewoon ge-DREVEN                                                                        NaN
VOOR Den Bosch Joep Gersjes                                                             NaN
geometry                                                                        POINT (0 0)
Name: 3579, Length: 973, dtype: object
Stembureau                                                                              172
Adres                                                                                      
Locatie                                                                               SB172
description                               Stembureau Stembureau Stembureau op locatie al...
Geldige stemmen                                                                          66
                                                                ...                        
"Leefbaar 's-Hertogenbosch" Paul Kagie                                                  NaN
RAADSGROEPERING ''BOSCH-BELANG''                                                        NaN
gewoon ge-DREVEN                                                                        NaN
VOOR Den Bosch Joep Gersjes                                                             NaN
geometry                                                                        POINT (0 0)
Name: 3580, Length: 973, dtype: object
Stembureau                                                                              173
Adres                                                                                      
Locatie                                                                               SB173
description                               Stembureau Stembureau Stembureau op locatie al...
Geldige stemmen                                                                         162
                                                                ...                        
"Leefbaar 's-Hertogenbosch" Paul Kagie                                                  NaN
RAADSGROEPERING ''BOSCH-BELANG''                                                        NaN
gewoon ge-DREVEN                                                                        NaN
VOOR Den Bosch Joep Gersjes                                                             NaN
geometry                                                                        POINT (0 0)
Name: 3581, Length: 973, dtype: object
Stembureau                                                                              174
Adres                                                                                      
Locatie                                                                               SB174
description                               Stembureau Stembureau Stembureau op locatie al...
Geldige stemmen                                                                          65
                                                                ...                        
"Leefbaar 's-Hertogenbosch" Paul Kagie                                                  NaN
RAADSGROEPERING ''BOSCH-BELANG''                                                        NaN
gewoon ge-DREVEN                                                                        NaN
VOOR Den Bosch Joep Gersjes                                                             NaN
geometry                                                                        POINT (0 0)
Name: 3582, Length: 973, dtype: object
Stembureau                                                                              175
Adres                                                                                      
Locatie                                                                               SB175
description                               Stembureau Stembureau Stembureau op locatie al...
Geldige stemmen                                                                         121
                                                                ...                        
"Leefbaar 's-Hertogenbosch" Paul Kagie                                                  NaN
RAADSGROEPERING ''BOSCH-BELANG''                                                        NaN
gewoon ge-DREVEN                                                                        NaN
VOOR Den Bosch Joep Gersjes                                                             NaN
geometry                                                                        POINT (0 0)
Name: 3583, Length: 973, dtype: object
Stembureau                                                                               39
Adres                                                                                      
Locatie                                                                                SB39
description                               Stembureau Mobiel stembureau met beperkte toeg...
Geldige stemmen                                                                          56
                                                                ...                        
"Leefbaar 's-Hertogenbosch" Paul Kagie                                                  NaN
RAADSGROEPERING ''BOSCH-BELANG''                                                        NaN
gewoon ge-DREVEN                                                                        NaN
VOOR Den Bosch Joep Gersjes                                                             NaN
geometry                                                                        POINT (0 0)
Name: 5494, Length: 973, dtype: object
Stembureau                                                                               34
Adres                                                                                      
Locatie                                                                                SB34
description                               Stembureau Stembureau Mobiel stembureau verzor...
Geldige stemmen                                                                         119
                                                                ...                        
"Leefbaar 's-Hertogenbosch" Paul Kagie                                                  NaN
RAADSGROEPERING ''BOSCH-BELANG''                                                        NaN
gewoon ge-DREVEN                                                                        NaN
VOOR Den Bosch Joep Gersjes                                                             NaN
geometry                                                                        POINT (0 0)
Name: 5784, Length: 973, dtype: object
Stembureau                                                                               35
Adres                                                                                      
Locatie                                                                                SB35
description                               Stembureau Stembureau Mobiel stembureau verzor...
Geldige stemmen                                                                         151
                                                                ...                        
"Leefbaar 's-Hertogenbosch" Paul Kagie                                                  NaN
RAADSGROEPERING ''BOSCH-BELANG''                                                        NaN
gewoon ge-DREVEN                                                                        NaN
VOOR Den Bosch Joep Gersjes                                                             NaN
geometry                                                                        POINT (0 0)
Name: 5785, Length: 973, dtype: object
Stembureau                                                                   11
Adres                                                                          
Locatie                                                                    SB11
description                               Stembureau Mobiel stembureau Ommedijk
Geldige stemmen                                                              14
                                                          ...                  
"Leefbaar 's-Hertogenbosch" Paul Kagie                                      NaN
RAADSGROEPERING ''BOSCH-BELANG''                                            NaN
gewoon ge-DREVEN                                                            NaN
VOOR Den Bosch Joep Gersjes                                                 NaN
geometry                                                            POINT (0 0)
Name: 6260, Length: 973, dtype: object
Stembureau                                                                               12
Adres                                                                                      
Locatie                                                                                SB12
description                               Stembureau Mobiel stembureau Van Alphenstaete ...
Geldige stemmen                                                                          68
                                                                ...                        
"Leefbaar 's-Hertogenbosch" Paul Kagie                                                  NaN
RAADSGROEPERING ''BOSCH-BELANG''                                                        NaN
gewoon ge-DREVEN                                                                        NaN
VOOR Den Bosch Joep Gersjes                                                             NaN
geometry                                                                        POINT (0 0)
Name: 6261, Length: 973, dtype: object
Stembureau                                                          70
Adres                                                                 
Locatie                                                           SB70
description                               Stembureau Mobiel stembureau
Geldige stemmen                                                     34
                                                      ...             
"Leefbaar 's-Hertogenbosch" Paul Kagie                             NaN
RAADSGROEPERING ''BOSCH-BELANG''                                   NaN
gewoon ge-DREVEN                                                   NaN
VOOR Den Bosch Joep Gersjes                                        NaN
geometry                                                   POINT (0 0)
Name: 6738, Length: 973, dtype: object
Stembureau                                                          71
Adres                                                                 
Locatie                                                           SB71
description                               Stembureau Mobiel stembureau
Geldige stemmen                                                     43
                                                      ...             
"Leefbaar 's-Hertogenbosch" Paul Kagie                             NaN
RAADSGROEPERING ''BOSCH-BELANG''                                   NaN
gewoon ge-DREVEN                                                   NaN
VOOR Den Bosch Joep Gersjes                                        NaN
geometry                                                   POINT (0 0)
Name: 6739, Length: 973, dtype: object
Stembureau                                                                    699
Adres                                                                            
Locatie                                                                     SB699
description                               Stembureau Stembureau Mobiel stembureau
Geldige stemmen                                                                59
                                                           ...                   
"Leefbaar 's-Hertogenbosch" Paul Kagie                                        NaN
RAADSGROEPERING ''BOSCH-BELANG''                                              NaN
gewoon ge-DREVEN                                                              NaN
VOOR Den Bosch Joep Gersjes                                                   NaN
geometry                                                              POINT (0 0)
Name: 6863, Length: 973, dtype: object
Stembureau                                                         32
Adres                                                                
Locatie                                                          SB32
description                               Stembureau Mobielstembureau
Geldige stemmen                                                    63
                                                     ...             
"Leefbaar 's-Hertogenbosch" Paul Kagie                            NaN
RAADSGROEPERING ''BOSCH-BELANG''                                  NaN
gewoon ge-DREVEN                                                  NaN
VOOR Den Bosch Joep Gersjes                                       NaN
geometry                                                  POINT (0 0)
Name: 7348, Length: 973, dtype: object
Stembureau                                                      90
Adres                                                             
Locatie                                                       SB90
description                               Stembureau Roll and Vote
Geldige stemmen                                                339
                                                    ...           
"Leefbaar 's-Hertogenbosch" Paul Kagie                         NaN
RAADSGROEPERING ''BOSCH-BELANG''                               NaN
gewoon ge-DREVEN                                               NaN
VOOR Den Bosch Joep Gersjes                                    NaN
geometry                                               POINT (0 0)
Name: 7364, Length: 973, dtype: object
Stembureau                                                          19
Adres                                                                 
Locatie                                                           SB19
description                               Stembureau Mobiel stembureau
Geldige stemmen                                                     77
                                                      ...             
"Leefbaar 's-Hertogenbosch" Paul Kagie                             NaN
RAADSGROEPERING ''BOSCH-BELANG''                                   NaN
gewoon ge-DREVEN                                                   NaN
VOOR Den Bosch Joep Gersjes                                        NaN
geometry                                                   POINT (0 0)
Name: 7857, Length: 973, dtype: object
Stembureau                                                                           1428
Adres                                                                                    
Locatie                                                                            SB1428
description                               Stembureau Drive-thru parkeerplaats Rusheuvel 1
Geldige stemmen                                                                       163
                                                               ...                       
"Leefbaar 's-Hertogenbosch" Paul Kagie                                                NaN
RAADSGROEPERING ''BOSCH-BELANG''                                                      NaN
gewoon ge-DREVEN                                                                      NaN
VOOR Den Bosch Joep Gersjes                                                           NaN
geometry                                                                      POINT (0 0)
Name: 7912, Length: 973, dtype: object
Stembureau                                                                           1437
Adres                                                                                    
Locatie                                                                            SB1437
description                               Stembureau Drive-thru parkeerplaats Rusheuvel 2
Geldige stemmen                                                                       239
                                                               ...                       
"Leefbaar 's-Hertogenbosch" Paul Kagie                                                NaN
RAADSGROEPERING ''BOSCH-BELANG''                                                      NaN
gewoon ge-DREVEN                                                                      NaN
VOOR Den Bosch Joep Gersjes                                                           NaN
geometry                                                                      POINT (0 0)
Name: 7913, Length: 973, dtype: object
Stembureau                                                                           1528
Adres                                                                                    
Locatie                                                                            SB1528
description                               Stembureau Drive-thru parkeerplaats Rusheuvel 1
Geldige stemmen                                                                       323
                                                               ...                       
"Leefbaar 's-Hertogenbosch" Paul Kagie                                                NaN
RAADSGROEPERING ''BOSCH-BELANG''                                                      NaN
gewoon ge-DREVEN                                                                      NaN
VOOR Den Bosch Joep Gersjes                                                           NaN
geometry                                                                      POINT (0 0)
Name: 7923, Length: 973, dtype: object
Stembureau                                                                           1537
Adres                                                                                    
Locatie                                                                            SB1537
description                               Stembureau Drive-thru parkeerplaats Rusheuvel 2
Geldige stemmen                                                                       208
                                                               ...                       
"Leefbaar 's-Hertogenbosch" Paul Kagie                                                NaN
RAADSGROEPERING ''BOSCH-BELANG''                                                      NaN
gewoon ge-DREVEN                                                                      NaN
VOOR Den Bosch Joep Gersjes                                                           NaN
geometry                                                                      POINT (0 0)
Name: 7924, Length: 973, dtype: object
Stembureau                                                        1541
Adres                                                                 
Locatie                                                         SB1541
description                               Stembureau Mobiel stembureau
Geldige stemmen                                                    125
                                                      ...             
"Leefbaar 's-Hertogenbosch" Paul Kagie                             NaN
RAADSGROEPERING ''BOSCH-BELANG''                                   NaN
gewoon ge-DREVEN                                                   NaN
VOOR Den Bosch Joep Gersjes                                        NaN
geometry                                                   POINT (0 0)
Name: 7926, Length: 973, dtype: object
Stembureau                                                            200
Adres                                                                    
Locatie                                                             SB200
description                               Stembureau Mobiel stembureau Ma
Geldige stemmen                                                        30
                                                       ...               
"Leefbaar 's-Hertogenbosch" Paul Kagie                                NaN
RAADSGROEPERING ''BOSCH-BELANG''                                      NaN
gewoon ge-DREVEN                                                      NaN
VOOR Den Bosch Joep Gersjes                                           NaN
geometry                                                      POINT (0 0)
Name: 7958, Length: 973, dtype: object
Stembureau                                                            201
Adres                                                                    
Locatie                                                             SB201
description                               Stembureau Mobiel stembureau Di
Geldige stemmen                                                        30
                                                       ...               
"Leefbaar 's-Hertogenbosch" Paul Kagie                                NaN
RAADSGROEPERING ''BOSCH-BELANG''                                      NaN
gewoon ge-DREVEN                                                      NaN
VOOR Den Bosch Joep Gersjes                                           NaN
geometry                                                      POINT (0 0)
Name: 7959, Length: 973, dtype: object
Stembureau                                                             202
Adres                                                                     
Locatie                                                              SB202
description                               Stembureau Mobiel stembureau Woe
Geldige stemmen                                                         44
                                                        ...               
"Leefbaar 's-Hertogenbosch" Paul Kagie                                 NaN
RAADSGROEPERING ''BOSCH-BELANG''                                       NaN
gewoon ge-DREVEN                                                       NaN
VOOR Den Bosch Joep Gersjes                                            NaN
geometry                                                       POINT (0 0)
Name: 7960, Length: 973, dtype: object
Stembureau                                                                               30
Adres                                                                                      
Locatie                                                                                SB30
description                               Stembureau Stembureau voor de telling stembure...
Geldige stemmen                                                                        2004
                                                                ...                        
"Leefbaar 's-Hertogenbosch" Paul Kagie                                                  NaN
RAADSGROEPERING ''BOSCH-BELANG''                                                        NaN
gewoon ge-DREVEN                                                                        NaN
VOOR Den Bosch Joep Gersjes                                                             NaN
geometry                                                                        POINT (0 0)
Name: 8108, Length: 973, dtype: object
Stembureau                                                                               40
Adres                                                                                      
Locatie                                                                                SB40
description                               Stembureau Stembureau voor de telling stembure...
Geldige stemmen                                                                        2953
                                                                ...                        
"Leefbaar 's-Hertogenbosch" Paul Kagie                                                  NaN
RAADSGROEPERING ''BOSCH-BELANG''                                                        NaN
gewoon ge-DREVEN                                                                        NaN
VOOR Den Bosch Joep Gersjes                                                             NaN
geometry                                                                        POINT (0 0)
Name: 8109, Length: 973, dtype: object
Stembureau                                                                             990
Adres                                                                                     
Locatie                                                                              SB990
description                               Stembureau Mobiel stembureau (meerdere plaatsen)
Geldige stemmen                                                                         47
                                                                ...                       
"Leefbaar 's-Hertogenbosch" Paul Kagie                                                 NaN
RAADSGROEPERING ''BOSCH-BELANG''                                                       NaN
gewoon ge-DREVEN                                                                       NaN
VOOR Den Bosch Joep Gersjes                                                            NaN
geometry                                                                       POINT (0 0)
Name: 8161, Length: 973, dtype: object
Stembureau                                                                             991
Adres                                                                                     
Locatie                                                                              SB991
description                               Stembureau Mobiel stembureau (meerdere plaatsen)
Geldige stemmen                                                                         70
                                                                ...                       
"Leefbaar 's-Hertogenbosch" Paul Kagie                                                 NaN
RAADSGROEPERING ''BOSCH-BELANG''                                                       NaN
gewoon ge-DREVEN                                                                       NaN
VOOR Den Bosch Joep Gersjes                                                            NaN
geometry                                                                       POINT (0 0)
Name: 8162, Length: 973, dtype: object
Stembureau                                                                             992
Adres                                                                                     
Locatie                                                                              SB992
description                               Stembureau Mobiel stembureau (meerdere plaatsen)
Geldige stemmen                                                                         39
                                                                ...                       
"Leefbaar 's-Hertogenbosch" Paul Kagie                                                 NaN
RAADSGROEPERING ''BOSCH-BELANG''                                                       NaN
gewoon ge-DREVEN                                                                       NaN
VOOR Den Bosch Joep Gersjes                                                            NaN
geometry                                                                       POINT (0 0)
Name: 8163, Length: 973, dtype: object
Stembureau                                                                  17
Adres                                                                         
Locatie                                                                   SB17
description                               Stembureau Mobiel Stembureau dinsdag
Geldige stemmen                                                            115
                                                          ...                 
"Leefbaar 's-Hertogenbosch" Paul Kagie                                     NaN
RAADSGROEPERING ''BOSCH-BELANG''                                           NaN
gewoon ge-DREVEN                                                           NaN
VOOR Den Bosch Joep Gersjes                                                NaN
geometry                                                           POINT (0 0)
Name: 8318, Length: 973, dtype: object
Stembureau                                                           228
Adres                                                                   
Locatie                                                            SB228
description                               Stembureau Stembureau Drive-in
Geldige stemmen                                                       80
                                                       ...              
"Leefbaar 's-Hertogenbosch" Paul Kagie                               NaN
RAADSGROEPERING ''BOSCH-BELANG''                                     NaN
gewoon ge-DREVEN                                                     NaN
VOOR Den Bosch Joep Gersjes                                          NaN
geometry                                                     POINT (0 0)
Name: 9093, Length: 973, dtype: object
Stembureau                                                          30
Adres                                                                 
Locatie                                                           SB30
description                               Stembureau Mobiel stembureau
Geldige stemmen                                                     25
                                                      ...             
"Leefbaar 's-Hertogenbosch" Paul Kagie                             NaN
RAADSGROEPERING ''BOSCH-BELANG''                                   NaN
gewoon ge-DREVEN                                                   NaN
VOOR Den Bosch Joep Gersjes                                        NaN
geometry                                                   POINT (0 0)
Name: 9151, Length: 973, dtype: object
Stembureau                                                          31
Adres                                                                 
Locatie                                                           SB31
description                               Stembureau Mobiel stembureau
Geldige stemmen                                                      8
                                                      ...             
"Leefbaar 's-Hertogenbosch" Paul Kagie                             NaN
RAADSGROEPERING ''BOSCH-BELANG''                                   NaN
gewoon ge-DREVEN                                                   NaN
VOOR Den Bosch Joep Gersjes                                        NaN
geometry                                                   POINT (0 0)
Name: 9152, Length: 973, dtype: object
Stembureau                                                          32
Adres                                                                 
Locatie                                                           SB32
description                               Stembureau Mobiel stembureau
Geldige stemmen                                                     24
                                                      ...             
"Leefbaar 's-Hertogenbosch" Paul Kagie                             NaN
RAADSGROEPERING ''BOSCH-BELANG''                                   NaN
gewoon ge-DREVEN                                                   NaN
VOOR Den Bosch Joep Gersjes                                        NaN
geometry                                                   POINT (0 0)
Name: 9153, Length: 973, dtype: object
Stembureau                                                                 76
Adres                                                                        
Locatie                                                                  SB76
description                               Stembureau Rondvaartboot Toerist VI
Geldige stemmen                                                           148
                                                         ...                 
"Leefbaar 's-Hertogenbosch" Paul Kagie                                    NaN
RAADSGROEPERING ''BOSCH-BELANG''                                          NaN
gewoon ge-DREVEN                                                          NaN
VOOR Den Bosch Joep Gersjes                                               NaN
geometry                                                          POINT (0 0)
Name: 9661, Length: 973, dtype: object
Stembureau                                                                               68
Adres                                                                                      
Locatie                                                                                SB68
description                               Stembureau Drive Inn (evenemententerrein Het L...
Geldige stemmen                                                                         285
                                                                ...                        
"Leefbaar 's-Hertogenbosch" Paul Kagie                                                  NaN
RAADSGROEPERING ''BOSCH-BELANG''                                                        NaN
gewoon ge-DREVEN                                                                        NaN
VOOR Den Bosch Joep Gersjes                                                             NaN
geometry                                                                        POINT (0 0)
Name: 9853, Length: 973, dtype: object
Stembureau                                                          14
Adres                                                                 
Locatie                                                           SB14
description                               Stembureau Mobiel Stembureau
Geldige stemmen                                                     24
                                                      ...             
"Leefbaar 's-Hertogenbosch" Paul Kagie                             NaN
RAADSGROEPERING ''BOSCH-BELANG''                                   NaN
gewoon ge-DREVEN                                                   NaN
VOOR Den Bosch Joep Gersjes                                        NaN
geometry                                                   POINT (0 0)
Name: 10427, Length: 973, dtype: object
Stembureau                                                          18
Adres                                                                 
Locatie                                                           SB18
description                               Stembureau Mobiel stembureau
Geldige stemmen                                                     50
                                                      ...             
"Leefbaar 's-Hertogenbosch" Paul Kagie                             NaN
RAADSGROEPERING ''BOSCH-BELANG''                                   NaN
gewoon ge-DREVEN                                                   NaN
VOOR Den Bosch Joep Gersjes                                        NaN
geometry                                                   POINT (0 0)
Name: 10431, Length: 973, dtype: object
Stembureau                                                                          23
Adres                                                                                 
Locatie                                                                           SB23
description                               Stembureau Stembureau Mobiel: Wkp Zout Veere
Geldige stemmen                                                                     55
                                                              ...                     
"Leefbaar 's-Hertogenbosch" Paul Kagie                                             NaN
RAADSGROEPERING ''BOSCH-BELANG''                                                   NaN
gewoon ge-DREVEN                                                                   NaN
VOOR Den Bosch Joep Gersjes                                                        NaN
geometry                                                                   POINT (0 0)
Name: 10497, Length: 973, dtype: object
Stembureau                                                                   24
Adres                                                                          
Locatie                                                                    SB24
description                               Stembureau Stembureau Mobiel: Okp Dom
Geldige stemmen                                                              35
                                                          ...                  
"Leefbaar 's-Hertogenbosch" Paul Kagie                                      NaN
RAADSGROEPERING ''BOSCH-BELANG''                                            NaN
gewoon ge-DREVEN                                                            NaN
VOOR Den Bosch Joep Gersjes                                                 NaN
geometry                                                            POINT (0 0)
Name: 10498, Length: 973, dtype: object
Stembureau                                                            115
Adres                                                                    
Locatie                                                             SB115
description                               Stembureau Tent Nijverheidslaan
Geldige stemmen                                                       258
                                                       ...               
"Leefbaar 's-Hertogenbosch" Paul Kagie                                NaN
RAADSGROEPERING ''BOSCH-BELANG''                                      NaN
gewoon ge-DREVEN                                                      NaN
VOOR Den Bosch Joep Gersjes                                           NaN
geometry                                                      POINT (0 0)
Name: 10525, Length: 973, dtype: object
Stembureau                                                            116
Adres                                                                    
Locatie                                                             SB116
description                               Stembureau Tent Nijverheidslaan
Geldige stemmen                                                       377
                                                       ...               
"Leefbaar 's-Hertogenbosch" Paul Kagie                                NaN
RAADSGROEPERING ''BOSCH-BELANG''                                      NaN
gewoon ge-DREVEN                                                      NaN
VOOR Den Bosch Joep Gersjes                                           NaN
geometry                                                      POINT (0 0)
Name: 10526, Length: 973, dtype: object
Stembureau                                                                117
Adres                                                                        
Locatie                                                                 SB117
description                               Stembureau Tent Peter Benenson park
Geldige stemmen                                                           285
                                                         ...                 
"Leefbaar 's-Hertogenbosch" Paul Kagie                                    NaN
RAADSGROEPERING ''BOSCH-BELANG''                                          NaN
gewoon ge-DREVEN                                                          NaN
VOOR Den Bosch Joep Gersjes                                               NaN
geometry                                                          POINT (0 0)
Name: 10527, Length: 973, dtype: object
Stembureau                                                                118
Adres                                                                        
Locatie                                                                 SB118
description                               Stembureau Tent Peter Benenson park
Geldige stemmen                                                           329
                                                         ...                 
"Leefbaar 's-Hertogenbosch" Paul Kagie                                    NaN
RAADSGROEPERING ''BOSCH-BELANG''                                          NaN
gewoon ge-DREVEN                                                          NaN
VOOR Den Bosch Joep Gersjes                                               NaN
geometry                                                          POINT (0 0)
Name: 10528, Length: 973, dtype: object
Stembureau                                                                     310
Adres                                                                             
Locatie                                                                      SB310
description                               Stembureau Mobiel Bijzonder stembureau 1
Geldige stemmen                                                                 26
                                                            ...                   
"Leefbaar 's-Hertogenbosch" Paul Kagie                                         NaN
RAADSGROEPERING ''BOSCH-BELANG''                                               NaN
gewoon ge-DREVEN                                                               NaN
VOOR Den Bosch Joep Gersjes                                                    NaN
geometry                                                               POINT (0 0)
Name: 10623, Length: 973, dtype: object
Stembureau                                                                     311
Adres                                                                             
Locatie                                                                      SB311
description                               Stembureau Mobiel Bijzonder stembureau 2
Geldige stemmen                                                                 55
                                                            ...                   
"Leefbaar 's-Hertogenbosch" Paul Kagie                                         NaN
RAADSGROEPERING ''BOSCH-BELANG''                                               NaN
gewoon ge-DREVEN                                                               NaN
VOOR Den Bosch Joep Gersjes                                                    NaN
geometry                                                               POINT (0 0)
Name: 10624, Length: 973, dtype: object
Stembureau                                                            88
Adres                                                                   
Locatie                                                             SB88
description                               Stembureau Mobiel stembureau 1
Geldige stemmen                                                       78
                                                       ...              
"Leefbaar 's-Hertogenbosch" Paul Kagie                               NaN
RAADSGROEPERING ''BOSCH-BELANG''                                     NaN
gewoon ge-DREVEN                                                     NaN
VOOR Den Bosch Joep Gersjes                                          NaN
geometry                                                     POINT (0 0)
Name: 10894, Length: 973, dtype: object
Stembureau                                                            89
Adres                                                                   
Locatie                                                             SB89
description                               Stembureau Mobiel stembureau 2
Geldige stemmen                                                       35
                                                       ...              
"Leefbaar 's-Hertogenbosch" Paul Kagie                               NaN
RAADSGROEPERING ''BOSCH-BELANG''                                     NaN
gewoon ge-DREVEN                                                     NaN
VOOR Den Bosch Joep Gersjes                                          NaN
geometry                                                     POINT (0 0)
Name: 10895, Length: 973, dtype: object
Stembureau                                                                     31
Adres                                                                            
Locatie                                                                      SB31
description                               Stembureau Stembureau Mobiel Stembureau
Geldige stemmen                                                                32
                                                           ...                   
"Leefbaar 's-Hertogenbosch" Paul Kagie                                        NaN
RAADSGROEPERING ''BOSCH-BELANG''                                              NaN
gewoon ge-DREVEN                                                              NaN
VOOR Den Bosch Joep Gersjes                                                   NaN
geometry                                                              POINT (0 0)
Name: 11032, Length: 973, dtype: object
Stembureau                                           0
Adres                                                 
Locatie                                            SB0
description                               Stembureau -
Geldige stemmen                                      0
                                              ...     
"Leefbaar 's-Hertogenbosch" Paul Kagie             NaN
RAADSGROEPERING ''BOSCH-BELANG''                   NaN
gewoon ge-DREVEN                                   NaN
VOOR Den Bosch Joep Gersjes                        NaN
geometry                                   POINT (0 0)
Name: 11101, Length: 973, dtype: object
Stembureau                                                                              132
Adres                                                                                      
Locatie                                                                               SB132
description                               Stembureau Stembureau IJsselhallen drive thoug...
Geldige stemmen                                                                          52
                                                                ...                        
"Leefbaar 's-Hertogenbosch" Paul Kagie                                                  NaN
RAADSGROEPERING ''BOSCH-BELANG''                                                        NaN
gewoon ge-DREVEN                                                                        NaN
VOOR Den Bosch Joep Gersjes                                                             NaN
geometry                                                                        POINT (0 0)
Name: 12038, Length: 973, dtype: object
Stembureau                                                                              133
Adres                                                                                      
Locatie                                                                               SB133
description                               Stembureau Stembureau IJsselhallen drive throu...
Geldige stemmen                                                                          48
                                                                ...                        
"Leefbaar 's-Hertogenbosch" Paul Kagie                                                  NaN
RAADSGROEPERING ''BOSCH-BELANG''                                                        NaN
gewoon ge-DREVEN                                                                        NaN
VOOR Den Bosch Joep Gersjes                                                             NaN
geometry                                                                        POINT (0 0)
Name: 12039, Length: 973, dtype: object
Stembureau                                                                              232
Adres                                                                                      
Locatie                                                                               SB232
description                               Stembureau Stembureau IJsselhallen drive thoug...
Geldige stemmen                                                                         113
                                                                ...                        
"Leefbaar 's-Hertogenbosch" Paul Kagie                                                  NaN
RAADSGROEPERING ''BOSCH-BELANG''                                                        NaN
gewoon ge-DREVEN                                                                        NaN
VOOR Den Bosch Joep Gersjes                                                             NaN
geometry                                                                        POINT (0 0)
Name: 12053, Length: 973, dtype: object
Stembureau                                                                              233
Adres                                                                                      
Locatie                                                                               SB233
description                               Stembureau Stembureau IJsselhallen drive throu...
Geldige stemmen                                                                          73
                                                                ...                        
"Leefbaar 's-Hertogenbosch" Paul Kagie                                                  NaN
RAADSGROEPERING ''BOSCH-BELANG''                                                        NaN
gewoon ge-DREVEN                                                                        NaN
VOOR Den Bosch Joep Gersjes                                                             NaN
geometry                                                                        POINT (0 0)
Name: 12054, Length: 973, dtype: object
Stembureau                                                                      358
Adres                                                                              
Locatie                                                                       SB358
description                               Stembureau Stembureau Mobiel stembureau 1
Geldige stemmen                                                                  70
                                                            ...                    
"Leefbaar 's-Hertogenbosch" Paul Kagie                                          NaN
RAADSGROEPERING ''BOSCH-BELANG''                                                NaN
gewoon ge-DREVEN                                                                NaN
VOOR Den Bosch Joep Gersjes                                                     NaN
geometry                                                                POINT (0 0)
Name: 12118, Length: 973, dtype: object
Stembureau                                                                      359
Adres                                                                              
Locatie                                                                       SB359
description                               Stembureau Stembureau Mobiel stembureau 2
Geldige stemmen                                                                 169
                                                            ...                    
"Leefbaar 's-Hertogenbosch" Paul Kagie                                          NaN
RAADSGROEPERING ''BOSCH-BELANG''                                                NaN
gewoon ge-DREVEN                                                                NaN
VOOR Den Bosch Joep Gersjes                                                     NaN
geometry                                                                POINT (0 0)
Name: 12119, Length: 973, dtype: object
Stembureau                                                                      360
Adres                                                                              
Locatie                                                                       SB360
description                               Stembureau Stembureau Mobiel stembureau 3
Geldige stemmen                                                                  89
                                                            ...                    
"Leefbaar 's-Hertogenbosch" Paul Kagie                                          NaN
RAADSGROEPERING ''BOSCH-BELANG''                                                NaN
gewoon ge-DREVEN                                                                NaN
VOOR Den Bosch Joep Gersjes                                                     NaN
geometry                                                                POINT (0 0)
Name: 12120, Length: 973, dtype: object
Stembureau                                                                      361
Adres                                                                              
Locatie                                                                       SB361
description                               Stembureau Stembureau Mobiel stembureau 4
Geldige stemmen                                                                  36
                                                            ...                    
"Leefbaar 's-Hertogenbosch" Paul Kagie                                          NaN
RAADSGROEPERING ''BOSCH-BELANG''                                                NaN
gewoon ge-DREVEN                                                                NaN
VOOR Den Bosch Joep Gersjes                                                     NaN
geometry                                                                POINT (0 0)
Name: 12121, Length: 973, dtype: object
Stembureau                                                                              114
Adres                                                                                      
Locatie                                                                               SB114
description                               Stembureau Stembureau Mobiel stembureau (beper...
Geldige stemmen                                                                         109
                                                                ...                        
"Leefbaar 's-Hertogenbosch" Paul Kagie                                                 11.0
RAADSGROEPERING ''BOSCH-BELANG''                                                        8.0
gewoon ge-DREVEN                                                                        0.0
VOOR Den Bosch Joep Gersjes                                                             1.0
geometry                                                                        POINT (0 0)
Name: 12504, Length: 973, dtype: object
Stembureau                                                                              115
Adres                                                                                      
Locatie                                                                               SB115
description                               Stembureau Stembureau Mobiel Stembureau (beper...
Geldige stemmen                                                                          80
                                                                ...                        
"Leefbaar 's-Hertogenbosch" Paul Kagie                                                  9.0
RAADSGROEPERING ''BOSCH-BELANG''                                                        5.0
gewoon ge-DREVEN                                                                        0.0
VOOR Den Bosch Joep Gersjes                                                             3.0
geometry                                                                        POINT (0 0)
Name: 12505, Length: 973, dtype: object
Stembureau                                                                              116
Adres                                                                                      
Locatie                                                                               SB116
description                               Stembureau Stembureau Mobiel Stembureau (beper...
Geldige stemmen                                                                         119
                                                                ...                        
"Leefbaar 's-Hertogenbosch" Paul Kagie                                                  3.0
RAADSGROEPERING ''BOSCH-BELANG''                                                        3.0
gewoon ge-DREVEN                                                                       20.0
VOOR Den Bosch Joep Gersjes                                                             3.0
geometry                                                                        POINT (0 0)
Name: 12506, Length: 973, dtype: object

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.

In [6]:
#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
#filter de data en print welke waardes 0 hebben op x
mobiel_mask = df_geojson['geometry'].centroid.x == 0
i = 0
for item in mobiel_mask:
    if item:
        print(i)
    i = i + 1
/tmp/ipykernel_42724/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.

  mobiel_mask = df_geojson['geometry'].centroid.x == 0
2520
2521
2918
3579
3580
3581
3582
3583
5494
5784
5785
6260
6261
6738
6739
6863
7348
7364
7857
7912
7913
7923
7924
7926
7958
7959
7960
8108
8109
8161
8162
8163
8318
9093
9151
9152
9153
9661
9853
10427
10431
10497
10498
10525
10526
10527
10528
10623
10624
10894
10895
11032
11101
12038
12039
12053
12054
12118
12119
12120
12121
12504
12505
12506
In [7]:
df_geojson_clean = df_geojson[~mobiel_mask]
df_geojson_mobiel = df_geojson[mobiel_mask]
print(df_geojson_clean)
       Stembureau   Adres Locatie  \
0               1  9461BH     SB1   
1               2  9461DA     SB2   
2               3  9461JA     SB3   
3               4  9451KD     SB4   
4               6  9454PL     SB6   
...           ...     ...     ...   
12591         703  5391AR   SB703   
12592         705  5391AR   SB705   
12593         750  5382KE   SB750   
12594         751  5382KE   SB751   
12595         752  5283KE   SB752   

                                             description  Geldige stemmen  \
0      Stembureau Gemeentehuis Gieten (postcode: 9461...              784   
1              Stembureau OBS Gieten (postcode: 9461 DA)              562   
2      Stembureau Zorgcentrum Dekelhem (postcode: 946...              566   
3      Stembureau Ontmoetingscentrum Boerhorn Rolde (...             1495   
4      Stembureau Dropshuis de Eekhof (postcode: 9454...              347   
...                                                  ...              ...   
12591  Stembureau Stembureau Gemeenschapshuis de Meen...              268   
12592  Stembureau Stembureau Gemeenschapshuis De Meen...              398   
12593  Stembureau Stembureau Gemeenschapshuis 't Zijl...              663   
12594  Stembureau Stembureau Gemeenschapshuis 't Zijl...              170   
12595  Stembureau Stembureau Gemeenschapshuis 't Zijl...              222   

       Opgeroepen  Ongeldig  Blanco  Geldige stempassen  \
0            2780         3       3                 700   
1            1396         0       0                 518   
2            1409         2       2                 516   
3            2209         2       4                1335   
4             477         0       2                 298   
...           ...       ...     ...                 ...   
12591           0         0       1                 237   
12592           0         1       0                 359   
12593        2321         2       0                 552   
12594           0         0       0                 151   
12595           0         0       0                 193   

       Geldige volmachtbewijzen  ...  \
0                            90  ...   
1                            44  ...   
2                            54  ...   
3                           166  ...   
4                            51  ...   
...                         ...  ...   
12591                        32  ...   
12592                        40  ...   
12593                       113  ...   
12594                        19  ...   
12595                        29  ...   

       Nationale Bond tegen Overheidszaken - DH  Haags Belang  INL Den Haag  \
0                                           NaN           NaN           NaN   
1                                           NaN           NaN           NaN   
2                                           NaN           NaN           NaN   
3                                           NaN           NaN           NaN   
4                                           NaN           NaN           NaN   
...                                         ...           ...           ...   
12591                                       NaN           NaN           NaN   
12592                                       NaN           NaN           NaN   
12593                                       NaN           NaN           NaN   
12594                                       NaN           NaN           NaN   
12595                                       NaN           NaN           NaN   

       Rosmalens Belang  De Bossche Groenen  \
0                   NaN                 NaN   
1                   NaN                 NaN   
2                   NaN                 NaN   
3                   NaN                 NaN   
4                   NaN                 NaN   
...                 ...                 ...   
12591             105.0                 2.0   
12592             174.0                 6.0   
12593              47.0                19.0   
12594               8.0                11.0   
12595              10.0                 2.0   

       "Leefbaar 's-Hertogenbosch" Paul Kagie  \
0                                         NaN   
1                                         NaN   
2                                         NaN   
3                                         NaN   
4                                         NaN   
...                                       ...   
12591                                     6.0   
12592                                     2.0   
12593                                    53.0   
12594                                    13.0   
12595                                    22.0   

       RAADSGROEPERING ''BOSCH-BELANG''  gewoon ge-DREVEN  \
0                                   NaN               NaN   
1                                   NaN               NaN   
2                                   NaN               NaN   
3                                   NaN               NaN   
4                                   NaN               NaN   
...                                 ...               ...   
12591                               0.0              33.0   
12592                               3.0              31.0   
12593                               2.0              62.0   
12594                               1.0              22.0   
12595                               2.0              28.0   

       VOOR Den Bosch Joep Gersjes                  geometry  
0                              NaN  POINT (6.75899 53.00524)  
1                              NaN  POINT (6.75990 52.99975)  
2                              NaN  POINT (6.76600 53.00494)  
3                              NaN  POINT (6.64736 52.98281)  
4                              NaN  POINT (6.60459 52.95269)  
...                            ...                       ...  
12591                          0.0  POINT (5.43290 51.72810)  
12592                          2.0  POINT (5.43290 51.72810)  
12593                          5.0  POINT (5.45919 51.70595)  
12594                          1.0  POINT (5.45919 51.70595)  
12595                          0.0  POINT (5.45919 51.70595)  

[12532 rows x 973 columns]
In [8]:
#let's also check if none fell through the cracks, it might be some mobile polls did actually have a location posted erroneously.
mobiel_mask_name = df_geojson_clean['description'].str.contains('Mobiel')
df_geojson_clean = df_geojson_clean[~mobiel_mask_name]
df_geojson_clean
Out[8]:
Stembureau Adres Locatie description Geldige stemmen Opgeroepen Ongeldig Blanco Geldige stempassen Geldige volmachtbewijzen ... Nationale Bond tegen Overheidszaken - DH Haags Belang INL Den Haag Rosmalens Belang De Bossche Groenen "Leefbaar 's-Hertogenbosch" Paul Kagie RAADSGROEPERING ''BOSCH-BELANG'' gewoon ge-DREVEN VOOR Den Bosch Joep Gersjes geometry
0 1 9461BH SB1 Stembureau Gemeentehuis Gieten (postcode: 9461... 784 2780 3 3 700 90 ... NaN NaN NaN NaN NaN NaN NaN NaN NaN POINT (6.75899 53.00524)
1 2 9461DA SB2 Stembureau OBS Gieten (postcode: 9461 DA) 562 1396 0 0 518 44 ... NaN NaN NaN NaN NaN NaN NaN NaN NaN POINT (6.75990 52.99975)
2 3 9461JA SB3 Stembureau Zorgcentrum Dekelhem (postcode: 946... 566 1409 2 2 516 54 ... NaN NaN NaN NaN NaN NaN NaN NaN NaN POINT (6.76600 53.00494)
3 4 9451KD SB4 Stembureau Ontmoetingscentrum Boerhorn Rolde (... 1495 2209 2 4 1335 166 ... NaN NaN NaN NaN NaN NaN NaN NaN NaN POINT (6.64736 52.98281)
4 6 9454PL SB6 Stembureau Dropshuis de Eekhof (postcode: 9454... 347 477 0 2 298 51 ... NaN NaN NaN NaN NaN NaN NaN NaN NaN POINT (6.60459 52.95269)
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
12591 703 5391AR SB703 Stembureau Stembureau Gemeenschapshuis de Meen... 268 0 0 1 237 32 ... NaN NaN NaN 105.0 2.0 6.0 0.0 33.0 0.0 POINT (5.43290 51.72810)
12592 705 5391AR SB705 Stembureau Stembureau Gemeenschapshuis De Meen... 398 0 1 0 359 40 ... NaN NaN NaN 174.0 6.0 2.0 3.0 31.0 2.0 POINT (5.43290 51.72810)
12593 750 5382KE SB750 Stembureau Stembureau Gemeenschapshuis 't Zijl... 663 2321 2 0 552 113 ... NaN NaN NaN 47.0 19.0 53.0 2.0 62.0 5.0 POINT (5.45919 51.70595)
12594 751 5382KE SB751 Stembureau Stembureau Gemeenschapshuis 't Zijl... 170 0 0 0 151 19 ... NaN NaN NaN 8.0 11.0 13.0 1.0 22.0 1.0 POINT (5.45919 51.70595)
12595 752 5283KE SB752 Stembureau Stembureau Gemeenschapshuis 't Zijl... 222 0 0 0 193 29 ... NaN NaN NaN 10.0 2.0 22.0 2.0 28.0 0.0 POINT (5.45919 51.70595)

12416 rows × 973 columns

In [19]:
df_wims = pd.read_csv(r'../data/wims.csv')
df_wims
Out[19]:
_id Gemeente CBS gemeentecode Nummer stembureau Naam stembureau Gebruiksdoel van het gebouw Website locatie Wijknaam CBS wijknummer Buurtnaam ... Kieskring ID Hoofdstembureau Tellocatie Contactgegevens gemeente Verkiezingswebsite gemeente Verkiezingen ID UUID Unnamed: 39 Unnamed: 40
0 1 Valkenswaard GM0858 1 Zorgcentrum Kempenhof gezondheidszorgfunctie https://www.valkenhof.nl/ NaN NaN NaN ... Valkenswaard Valkenswaard NaN verkiezingen@valkenswaard.nl http://www.valkenswaard.nl/verkiezingen NaN NLODSGM0858stembureaus20220316009 3a612b2151fa4ab491b9e331355e6258 NaN NaN
1 2 Valkenswaard GM0858 2 Buurtgebouw De Horizon bijeenkomstfunctie NaN NaN NaN NaN ... Valkenswaard Valkenswaard NaN verkiezingen@valkenswaard.nl http://www.valkenswaard.nl/verkiezingen NaN NLODSGM0858stembureaus20220316009 9a01d765af0a467ea37f08d92db114ba NaN NaN
2 3 Valkenswaard GM0858 3 Speeltuin Geenhoven bijeenkomstfunctie NaN NaN NaN NaN ... Valkenswaard Valkenswaard NaN verkiezingen@valkenswaard.nl http://www.valkenswaard.nl/verkiezingen NaN NLODSGM0858stembureaus20220316009 fc5869d33fbc4b06be659149fa615f4c NaN NaN
3 4 Valkenswaard GM0858 4 Ontmoetingscentrum De zoete inval bijeenkomstfunctie NaN NaN NaN NaN ... Valkenswaard Valkenswaard NaN verkiezingen@valkenswaard.nl http://www.valkenswaard.nl/verkiezingen NaN NLODSGM0858stembureaus20220316009 4427cc0b39e040ba8f75c333f19d66f0 NaN NaN
4 5 Valkenswaard GM0858 5 Gymnastiekzaal 't Gegraaf sportfunctie NaN NaN NaN NaN ... Valkenswaard Valkenswaard NaN verkiezingen@valkenswaard.nl http://www.valkenswaard.nl/verkiezingen NaN NLODSGM0858stembureaus20220316009 a893bb9add324ce29769f1c39afcc48d NaN NaN
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
9236 38711 Putten GM0273 3 Nieuwe Kerk bijeenkomstfunctie https://www.hervormdputten.nl/ NaN NaN NaN ... Putten Putten ja verkiezingen@putten.nl http://www.putten.nl NaN NLODSGM0273stembureaus20220316009 5ce3ef64ced64343b09f03a95d09d275 NaN NaN
9237 38712 Putten GM0273 10 Sporthal de Meeuwen sportfunctie https://www.kvdemeeuwen.nl/ NaN NaN NaN ... Putten Putten ja verkiezingen@putten.nl http://www.putten.nl NaN NLODSGM0273stembureaus20220316009 03b7138951f1475b9ca8328ee7365491 NaN NaN
9238 38713 Putten GM0273 8 School de Pelikaan onderwijsfunctie https://www.pcbdepelikaan.nl/ NaN NaN NaN ... Putten Putten ja verkiezingen@putten.nl http://www.putten.nl NaN NLODSGM0273stembureaus20220316009 25eb2c3d547a420094ee2f691e8bd383 NaN NaN
9239 38714 Putten GM0273 13 De Samaritaan bijeenkomstfunctie,gezondheidszorgfunctie https://www.desamaritaanputten.nl/ NaN NaN NaN ... Putten Putten ja verkiezingen@putten.nl http://www.putten.nl NaN NLODSGM0273stembureaus20220316009 8bc3926806a74105a593e6a133b1306f NaN NaN
9240 38715 Putten GM0273 6 Verenigingsgebouw Stenenkamer bijeenkomstfunctie https://verenigingsgebouwsteenenkamer.jouwweb.nl/ NaN NaN NaN ... Putten Putten ja verkiezingen@putten.nl http://www.putten.nl NaN NLODSGM0273stembureaus20220316009 609fd2e24c5b40b394174a84f7ca91af NaN NaN

9241 rows × 41 columns

In [20]:
gdf_wims = gpd.GeoDataFrame(
    df_wims, geometry=gpd.points_from_xy(df_wims.Longitude, df_wims.Latitude)).set_crs(epsg=4326, inplace=True)

gdf_wims
Out[20]:
_id Gemeente CBS gemeentecode Nummer stembureau Naam stembureau Gebruiksdoel van het gebouw Website locatie Wijknaam CBS wijknummer Buurtnaam ... Hoofdstembureau Tellocatie Contactgegevens gemeente Verkiezingswebsite gemeente Verkiezingen ID UUID Unnamed: 39 Unnamed: 40 geometry
0 1 Valkenswaard GM0858 1 Zorgcentrum Kempenhof gezondheidszorgfunctie https://www.valkenhof.nl/ NaN NaN NaN ... Valkenswaard NaN verkiezingen@valkenswaard.nl http://www.valkenswaard.nl/verkiezingen NaN NLODSGM0858stembureaus20220316009 3a612b2151fa4ab491b9e331355e6258 NaN NaN POINT (5.45515 51.34711)
1 2 Valkenswaard GM0858 2 Buurtgebouw De Horizon bijeenkomstfunctie NaN NaN NaN NaN ... Valkenswaard NaN verkiezingen@valkenswaard.nl http://www.valkenswaard.nl/verkiezingen NaN NLODSGM0858stembureaus20220316009 9a01d765af0a467ea37f08d92db114ba NaN NaN POINT (5.45137 51.34955)
2 3 Valkenswaard GM0858 3 Speeltuin Geenhoven bijeenkomstfunctie NaN NaN NaN NaN ... Valkenswaard NaN verkiezingen@valkenswaard.nl http://www.valkenswaard.nl/verkiezingen NaN NLODSGM0858stembureaus20220316009 fc5869d33fbc4b06be659149fa615f4c NaN NaN POINT (5.44827 51.35702)
3 4 Valkenswaard GM0858 4 Ontmoetingscentrum De zoete inval bijeenkomstfunctie NaN NaN NaN NaN ... Valkenswaard NaN verkiezingen@valkenswaard.nl http://www.valkenswaard.nl/verkiezingen NaN NLODSGM0858stembureaus20220316009 4427cc0b39e040ba8f75c333f19d66f0 NaN NaN POINT (5.44871 51.36022)
4 5 Valkenswaard GM0858 5 Gymnastiekzaal 't Gegraaf sportfunctie NaN NaN NaN NaN ... Valkenswaard NaN verkiezingen@valkenswaard.nl http://www.valkenswaard.nl/verkiezingen NaN NLODSGM0858stembureaus20220316009 a893bb9add324ce29769f1c39afcc48d NaN NaN POINT (5.45331 51.36514)
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
9236 38711 Putten GM0273 3 Nieuwe Kerk bijeenkomstfunctie https://www.hervormdputten.nl/ NaN NaN NaN ... Putten ja verkiezingen@putten.nl http://www.putten.nl NaN NLODSGM0273stembureaus20220316009 5ce3ef64ced64343b09f03a95d09d275 NaN NaN POINT (5.60654 52.25587)
9237 38712 Putten GM0273 10 Sporthal de Meeuwen sportfunctie https://www.kvdemeeuwen.nl/ NaN NaN NaN ... Putten ja verkiezingen@putten.nl http://www.putten.nl NaN NLODSGM0273stembureaus20220316009 03b7138951f1475b9ca8328ee7365491 NaN NaN POINT (5.59487 52.24865)
9238 38713 Putten GM0273 8 School de Pelikaan onderwijsfunctie https://www.pcbdepelikaan.nl/ NaN NaN NaN ... Putten ja verkiezingen@putten.nl http://www.putten.nl NaN NLODSGM0273stembureaus20220316009 25eb2c3d547a420094ee2f691e8bd383 NaN NaN POINT (5.59278 52.25561)
9239 38714 Putten GM0273 13 De Samaritaan bijeenkomstfunctie,gezondheidszorgfunctie https://www.desamaritaanputten.nl/ NaN NaN NaN ... Putten ja verkiezingen@putten.nl http://www.putten.nl NaN NLODSGM0273stembureaus20220316009 8bc3926806a74105a593e6a133b1306f NaN NaN POINT (5.58088 52.26092)
9240 38715 Putten GM0273 6 Verenigingsgebouw Stenenkamer bijeenkomstfunctie https://verenigingsgebouwsteenenkamer.jouwweb.nl/ NaN NaN NaN ... Putten ja verkiezingen@putten.nl http://www.putten.nl NaN NLODSGM0273stembureaus20220316009 609fd2e24c5b40b394174a84f7ca91af NaN NaN POINT (5.54537 52.26266)

9241 rows × 42 columns

In [22]:
fig, ax = plt.subplots(figsize = (15,15))
nl_map.to_crs(epsg=4326).plot(ax=ax, color='lightgrey')
gdf_wims.plot(ax=ax)
Out[22]:
<AxesSubplot:>
No description has been provided for this image
In [23]:
fig, ax = plt.subplots(figsize = (15,15))
nl_map.to_crs(epsg=4326).plot(ax=ax, color='lightgrey')
df_geojson_clean.plot(ax=ax)
Out[23]:
<AxesSubplot:>
No description has been provided for this image

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.

In [24]:
nl_map_cbs = gpd.read_file(r'../data/shape/Netherlands_shapefile/CBS_vk500_2020_v1.shp')
nl_map_cbs.to_crs(epsg=4326).plot()
Out[24]:
<AxesSubplot:>
No description has been provided for this image

Het verwerken van de 100m bij 100m vierkanten kaar duurde heel 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 (heel veel moeite), 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.

In [25]:
df_shifted = df_geojson_clean.to_crs('EPSG:28992')

df_shifted['geometry (shifted)'] = df_shifted['geometry'].shift(periods=1)
df_shifted['distance'] = df_shifted['geometry'].distance(df_shifted['geometry (shifted)'])
df_shifted.sort_values(['distance'], inplace=True, ascending=True)
zero_mask_booth = df_shifted['distance'] == 0.000000
df_shifted = df_shifted[~zero_mask_booth]
print(df_shifted['distance'])
11165         0.002608
1021          0.004853
3196          0.004875
1923          2.693202
3757          3.609362
             ...      
7436     256415.644309
9711     259842.874932
4392     266925.200994
9297     271954.076837
0                  NaN
Name: distance, Length: 11572, dtype: float64

We kunnen dus vaststellen dat afstanden van onder de 500 meter waarschijnlijk zeldzaam zijn, en we verder kunnen gaan met de 500 meter bij 500 meter kaart. Laten we nu dus een projectie proberen te maken met de bevolkingsdichtheid erop om het te vergelijken met de stemlokalen en hun posities en clustering.

In [26]:
print(list(nl_map_cbs))
nl_map_dst = nl_map_cbs.drop(columns=['MAN', 'VROUW', 'INW_014', 'INW_1524', 'INW_2544', 'INW_4564', 'INW_65PL', 'P_NL_ACHTG', 'P_WE_MIG_A', 'P_NW_MIG_A', 'AANTAL_HH', 'TOTHH_EENP', 'TOTHH_MPZK', 'HH_EENOUD', 'HH_TWEEOUD', 'GEM_HH_GR', 'WONING', 'WONVOOR45', 'WON_4564', 'WON_6574', 'WON_7584', 'WON_8594', 'WON_9504', 'WON_0514', 'WON_1524', 'WON_MRGEZ', 'P_KOOPWON', 'P_HUURWON', 'WON_HCORP', 'WON_NBEW', 'WOZWONING', 'UITKMINAOW', 'OAD', 'STED'])

nl_map_dst
['c28992r500', 'INWONER', 'MAN', 'VROUW', 'INW_014', 'INW_1524', 'INW_2544', 'INW_4564', 'INW_65PL', 'P_NL_ACHTG', 'P_WE_MIG_A', 'P_NW_MIG_A', 'AANTAL_HH', 'TOTHH_EENP', 'TOTHH_MPZK', 'HH_EENOUD', 'HH_TWEEOUD', 'GEM_HH_GR', 'WONING', 'WONVOOR45', 'WON_4564', 'WON_6574', 'WON_7584', 'WON_8594', 'WON_9504', 'WON_0514', 'WON_1524', 'WON_MRGEZ', 'P_KOOPWON', 'P_HUURWON', 'WON_HCORP', 'WON_NBEW', 'WOZWONING', 'UITKMINAOW', 'OAD', 'STED', 'geometry']
Out[26]:
c28992r500 INWONER geometry
0 E2260N6190 -99997 POLYGON ((226000.000 619000.000, 226000.000 61...
1 E2265N6190 -99997 POLYGON ((226500.000 619500.000, 227000.000 61...
2 E2270N6190 -99997 POLYGON ((227000.000 619500.000, 227500.000 61...
3 E2275N6190 -99997 POLYGON ((227500.000 619500.000, 228000.000 61...
4 E2280N6190 -99997 POLYGON ((228000.000 619500.000, 228500.000 61...
... ... ... ...
151103 E1995N3070 -99997 POLYGON ((199500.000 307500.000, 200000.000 30...
151104 E1905N3065 -99997 POLYGON ((190500.000 307000.000, 191000.000 30...
151105 E1910N3065 -99997 POLYGON ((191000.000 307000.000, 191500.000 30...
151106 E1920N3065 20 POLYGON ((192000.000 307000.000, 192500.000 30...
151107 E1925N3065 -99997 POLYGON ((192500.000 307000.000, 193000.000 30...

151108 rows × 3 columns

We kunnen zien dat er gemeente zijn die geen stemlokalen hebben, dit klopt. In de verkiezingen van 2022 hebben 12 gemeentes niet meegedaan. 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.

In [27]:
print(df_geojson['electionName'])

#get all municipalities that are in the election
gemeentes = df_geojson['electionName'].str.slice(13, -5).drop_duplicates()
print(gemeentes)
0             Gemeenteraad Aa en Hunze 2022
1             Gemeenteraad Aa en Hunze 2022
2             Gemeenteraad Aa en Hunze 2022
3             Gemeenteraad Aa en Hunze 2022
4             Gemeenteraad Aa en Hunze 2022
                        ...                
12591    Gemeenteraad 's-Hertogenbosch 2022
12592    Gemeenteraad 's-Hertogenbosch 2022
12593    Gemeenteraad 's-Hertogenbosch 2022
12594    Gemeenteraad 's-Hertogenbosch 2022
12595    Gemeenteraad 's-Hertogenbosch 2022
Name: electionName, Length: 12596, dtype: object
0             Aa en Hunze
27               Aalsmeer
46                 Aalten
74          Achtkarspelen
95           Alblasserdam
               ...       
11976     Zwartewaterland
11997         Zwijndrecht
12031              Zwolle
12122       's-Gravenhage
12495    's-Hertogenbosch
Name: electionName, Length: 333, dtype: object
In [28]:
#First let's remove the municipalities that don't have an Election from the municipality map
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"]


nl_map_clean = nl_map[~nl_map["GM_NAAM"].isin(remove_lst)]
nl_map_clean = nl_map_clean.query("H2O != 'JA'")
nl_map_clean = nl_map_clean.query("GM_NAAM != 'Buitenland'")


nl_map_election = nl_map[nl_map["GM_NAAM"].isin(gemeentes)]
nl_map_election = nl_map_election.query("H2O != 'JA'")

print("Shape of clean: {}".format(nl_map_clean.shape))
print("Shape of election: {}".format(nl_map_election.shape))

diff = pd.concat([nl_map_election, nl_map_clean]).drop_duplicates(keep=False)
diff
Shape of clean: (333, 38)
Shape of election: (330, 38)
Out[28]:
GM_CODE GM_NAAM H2O OAD STED BEV_DICHTH AANT_INW AANT_MAN AANT_VROUW P_00_14_JR ... P_TURKIJE P_OVER_NW OPP_TOT OPP_LAND OPP_WATER JRSTATCODE JAAR Shape_Leng Shape_Area geometry
113 GM0164 Hengelo NEE 1845 2 1332 81049 40776 40273 15 ... 6 7 6183 6084 99 2021GM0164 2021 47510.255914 6.183056e+07 POLYGON ((251978.591 481220.258, 251979.382 48...
191 GM0373 Bergen (NH.) NEE 819 4 300 29715 14317 15398 12 ... 0 3 12023 9896 2127 2021GM0373 2021 57488.474563 9.987418e+07 POLYGON ((105976.650 529056.951, 106002.347 52...
328 GM0893 Bergen (L.) NEE 318 5 127 13108 6568 6540 13 ... 0 3 10850 10324 525 2021GM0893 2021 61497.563571 1.084951e+08 POLYGON ((199768.270 409749.960, 199758.060 40...

3 rows × 38 columns

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. Nu we dezelfde lijst hebben van gemeentes die in de verkiezingen meededen kunnen we verder.

In [29]:
fig, ax = plt.subplots(figsize = (15,15))
nl_map_clean.to_crs(epsg=4326).plot(ax=ax, color='lightgrey')
df_geojson_clean.plot(ax=ax)
Out[29]:
<AxesSubplot:>
No description has been provided for this image
In [30]:
nl_map_dst['savedindex'] = nl_map_dst.index #Save the index values as a new column

intersecting = nl_map_clean.sjoin(nl_map_dst, how='inner')['savedindex'] #Find the polygons that intersect. Keep savedindex as a series

nl_map_dst = nl_map_dst.loc[nl_map_dst.savedindex.isin(intersecting)] #Filter away these, "savedindex is in intersecting"

nl_map_dst.to_crs(epsg=4326).plot()
Out[30]:
<AxesSubplot:>
No description has been provided for this image
In [31]:
import folium
from folium import plugins

#Location is Amersfoort, the central point of the continental Netherlands
map = folium.Map(location = [52.155, 5.3875], zoom_start = 9, tiles="cartodbdark_matter", prefer_canvas=True)

nl_map_dst.to_crs(epsg=4326)
#Make sure the index is a string so folium can read it correctly as a key.
nl_map_dst['c28992r500'] = nl_map_dst['c28992r500'].apply(lambda x: str(x))

nl_map_dst_zero = nl_map_dst.copy()

zero_mask_pop = nl_map_dst['INWONER'] == -99997
nl_map_dst = nl_map_dst[~zero_mask_pop]
zero_mask_pop2 = nl_map_dst['INWONER'] == 0
nl_map_dst = nl_map_dst[~zero_mask_pop2]

folium.Choropleth(
    geo_data = nl_map_dst,
    name="Bevolkingsdichtheid",
    data = nl_map_dst,
    columns = ["c28992r500", "INWONER"],
    key_on = 'feature.properties.c28992r500',
    fill_color = 'RdPu',
    nan_fill_color= 'white',
    fill_opacity = 0.7,
    nan_fill_opacity = 0.7,
    line_opacity = 0,
    legend_name = 'Bevolkingsdichtheid',
    smooth_factor = 1.0,
    show=False
).add_to(map)
map

# Renders the map to an HTML file and displays it in an embed.
def embed_map(m):
    #from IPython.display import IFrame
    m.save('index.html')
    #return IFrame('index.html', width='100%', height='750px')
/home/lillian/anaconda3/lib/python3.9/site-packages/geopandas/geodataframe.py:1351: SettingWithCopyWarning: 
A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead

See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
  super().__setitem__(key, value)
In [32]:
gdf_wims_hmp = [[point.xy[1][0], point.xy[0][0]] for point in gdf_wims.geometry]

plugins.HeatMap(gdf_wims_hmp, name="Stemlokalen Heatmap").add_to(map)

folium.LayerControl().add_to(map)



embed_map(map)
In [33]:
nl_map_dst_points = nl_map_dst.copy()
nl_map_dst_points['geometry'] = nl_map_dst_points['geometry'].centroid

nl_map_dst_zero_points = nl_map_dst_zero.copy()
nl_map_dst_zero_points['geometry'] = nl_map_dst_zero_points['geometry'].centroid

nl_map_dst_zero_points
Out[33]:
c28992r500 INWONER geometry savedindex
2 E2270N6190 -99997 POINT (227250.000 619250.000) 2
3 E2275N6190 -99997 POINT (227750.000 619250.000) 3
4 E2280N6190 -99997 POINT (228250.000 619250.000) 4
7 E2265N6185 -99997 POINT (226750.000 618750.000) 7
8 E2270N6185 -99997 POINT (227250.000 618750.000) 8
... ... ... ... ...
151102 E1990N3070 -99997 POINT (199250.000 307250.000) 151102
151103 E1995N3070 -99997 POINT (199750.000 307250.000) 151103
151105 E1910N3065 -99997 POINT (191250.000 306750.000) 151105
151106 E1920N3065 20 POINT (192250.000 306750.000) 151106
151107 E1925N3065 -99997 POINT (192750.000 306750.000) 151107

140002 rows × 4 columns

In [34]:
import numpy as np

from scipy.spatial import cKDTree
from shapely.geometry import Point
#Found on https://gis.stackexchange.com/questions/222315/finding-nearest-point-in-other-geodataframe-using-geopandas
def ckdnearest(gdA, gdB):

    nA = np.array(list(gdA.geometry.apply(lambda x: (x.x, x.y))))
    nB = np.array(list(gdB.geometry.apply(lambda x: (x.x, x.y))))
    btree = cKDTree(nB)
    dist, idx = btree.query(nA, k=1)
    gdB_nearest = gdB.iloc[idx].drop(columns="geometry").reset_index(drop=True)
    gdf = pd.concat(
        [
            gdA.reset_index(drop=True),
            gdB_nearest,
            pd.Series(dist, name='dist')
        ], 
        axis=1)

    return gdf

#error bar is +- sqrt(250²*2)m ≈ +-353.553390593m
error = np.sqrt(250**2 + 250**2)
df_nearest = ckdnearest(nl_map_dst_points.to_crs(epsg=28992), gdf_wims.to_crs(epsg=28992))
df_nearest.head()
Out[34]:
c28992r500 INWONER geometry savedindex _id Gemeente CBS gemeentecode Nummer stembureau Naam stembureau Gebruiksdoel van het gebouw ... Hoofdstembureau Tellocatie Contactgegevens gemeente Verkiezingswebsite gemeente Verkiezingen ID UUID Unnamed: 39 Unnamed: 40 dist
0 E2050N6110 5 POINT (205250.000 611250.000) 267 30871 Schiermonnikoog GM0088 1 Gemeentehuis (Raadzaal) kantoorfunctie ... Schiermonnikoog NaN postbus20@schiermonnikoog.nl, 0519-535050 https://www.schiermonnikoog.nl/in-de-gemeente/... NaN NLODSGM0088stembureaus20220316009 35abba36eca7485c89e82b2917633ae7 NaN NaN 1331.950309
1 E2060N6110 15 POINT (206250.000 611250.000) 269 30871 Schiermonnikoog GM0088 1 Gemeentehuis (Raadzaal) kantoorfunctie ... Schiermonnikoog NaN postbus20@schiermonnikoog.nl, 0519-535050 https://www.schiermonnikoog.nl/in-de-gemeente/... NaN NLODSGM0088stembureaus20220316009 35abba36eca7485c89e82b2917633ae7 NaN NaN 688.536284
2 E2055N6105 20 POINT (205750.000 610750.000) 292 30871 Schiermonnikoog GM0088 1 Gemeentehuis (Raadzaal) kantoorfunctie ... Schiermonnikoog NaN postbus20@schiermonnikoog.nl, 0519-535050 https://www.schiermonnikoog.nl/in-de-gemeente/... NaN NLODSGM0088stembureaus20220316009 35abba36eca7485c89e82b2917633ae7 NaN NaN 672.375861
3 E2060N6105 185 POINT (206250.000 610750.000) 293 30871 Schiermonnikoog GM0088 1 Gemeentehuis (Raadzaal) kantoorfunctie ... Schiermonnikoog NaN postbus20@schiermonnikoog.nl, 0519-535050 https://www.schiermonnikoog.nl/in-de-gemeente/... NaN NLODSGM0088stembureaus20220316009 35abba36eca7485c89e82b2917633ae7 NaN NaN 228.220493
4 E2065N6105 340 POINT (206750.000 610750.000) 294 30871 Schiermonnikoog GM0088 1 Gemeentehuis (Raadzaal) kantoorfunctie ... Schiermonnikoog NaN postbus20@schiermonnikoog.nl, 0519-535050 https://www.schiermonnikoog.nl/in-de-gemeente/... NaN NLODSGM0088stembureaus20220316009 35abba36eca7485c89e82b2917633ae7 NaN NaN 389.974214

5 rows × 46 columns

In [35]:
df_nearest['dist'].plot(kind="hist", weights=df_nearest['INWONER'], figsize=(13,13), density=False, log=True).set_ylabel('Bevolking (Millioenen)')
Out[35]:
Text(0, 0.5, 'Bevolking (Millioenen)')
No description has been provided for this image

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.

In [36]:
nl_map_dst_zero_points["INWONER"].mask(nl_map_dst_zero_points["INWONER"] == -99997, 0, inplace=True)
nl_map_dst_zero_points.head()
df_nearest_zero = ckdnearest(nl_map_dst_zero_points.to_crs(epsg=28992), gdf_wims.to_crs(epsg=28992))
df_nearest_zero["INWONER"].dropna()
df_nearest_zero["dist"].dropna()
df_nearest_zero
Out[36]:
c28992r500 INWONER geometry savedindex _id Gemeente CBS gemeentecode Nummer stembureau Naam stembureau Gebruiksdoel van het gebouw ... Hoofdstembureau Tellocatie Contactgegevens gemeente Verkiezingswebsite gemeente Verkiezingen ID UUID Unnamed: 39 Unnamed: 40 dist
0 E2270N6190 0 POINT (227250.000 619250.000) 2 31030 Het Hogeland GM1966 1 Dorpshuis Pieterburen bijeenkomstfunctie,logiesfunctie ... Het Hogeland NaN verkiezingen@hethogeland.nl https://hethogeland.nl/bestuur-en-organisatie/... NaN NLODSGM1966stembureaus20220316009 6df04b8dd4be4aa3b4a03f221ab5ad17 NaN NaN 17236.920436
1 E2275N6190 0 POINT (227750.000 619250.000) 3 31030 Het Hogeland GM1966 1 Dorpshuis Pieterburen bijeenkomstfunctie,logiesfunctie ... Het Hogeland NaN verkiezingen@hethogeland.nl https://hethogeland.nl/bestuur-en-organisatie/... NaN NLODSGM1966stembureaus20220316009 6df04b8dd4be4aa3b4a03f221ab5ad17 NaN NaN 17280.014918
2 E2280N6190 0 POINT (228250.000 619250.000) 4 31030 Het Hogeland GM1966 1 Dorpshuis Pieterburen bijeenkomstfunctie,logiesfunctie ... Het Hogeland NaN verkiezingen@hethogeland.nl https://hethogeland.nl/bestuur-en-organisatie/... NaN NLODSGM1966stembureaus20220316009 6df04b8dd4be4aa3b4a03f221ab5ad17 NaN NaN 17337.427867
3 E2265N6185 0 POINT (226750.000 618750.000) 7 31030 Het Hogeland GM1966 1 Dorpshuis Pieterburen bijeenkomstfunctie,logiesfunctie ... Het Hogeland NaN verkiezingen@hethogeland.nl https://hethogeland.nl/bestuur-en-organisatie/... NaN NLODSGM1966stembureaus20220316009 6df04b8dd4be4aa3b4a03f221ab5ad17 NaN NaN 16708.725120
4 E2270N6185 0 POINT (227250.000 618750.000) 8 31030 Het Hogeland GM1966 1 Dorpshuis Pieterburen bijeenkomstfunctie,logiesfunctie ... Het Hogeland NaN verkiezingen@hethogeland.nl https://hethogeland.nl/bestuur-en-organisatie/... NaN NLODSGM1966stembureaus20220316009 6df04b8dd4be4aa3b4a03f221ab5ad17 NaN NaN 16738.249149
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
139997 E1990N3070 0 POINT (199250.000 307250.000) 151102 4107 Vaals GM0981 7 Gemeentehuis (trouwkamer) kantoorfunctie ... Vaals ja Team verkiezingen, verkiezingen2022@vaals.nl http://www.vaals.nl/verkiezingen NaN NLODSGM0981stembureaus20220316009 cc2a21cff27c446ebe9cbd00472d9e44 NaN NaN 1939.206985
139998 E1995N3070 0 POINT (199750.000 307250.000) 151103 4107 Vaals GM0981 7 Gemeentehuis (trouwkamer) kantoorfunctie ... Vaals ja Team verkiezingen, verkiezingen2022@vaals.nl http://www.vaals.nl/verkiezingen NaN NLODSGM0981stembureaus20220316009 cc2a21cff27c446ebe9cbd00472d9e44 NaN NaN 1923.094050
139999 E1910N3065 0 POINT (191250.000 306750.000) 151105 29739 Gulpen-Wittem GM1729 7 Gemeenschapshuis Patronaat woonfunctie ... Gulpen-Wittem NaN info@gulpen-wittem.nl 14 043 https://www.gulpen-wittem.nl/onderwerpen/verki... NaN NLODSGM1729stembureaus20220316009 feb9d0a67a2f460f906d0d21e87bf690 NaN NaN 2880.233287
140000 E1920N3065 20 POINT (192250.000 306750.000) 151106 29739 Gulpen-Wittem GM1729 7 Gemeenschapshuis Patronaat woonfunctie ... Gulpen-Wittem NaN info@gulpen-wittem.nl 14 043 https://www.gulpen-wittem.nl/onderwerpen/verki... NaN NLODSGM1729stembureaus20220316009 feb9d0a67a2f460f906d0d21e87bf690 NaN NaN 2746.345509
140001 E1925N3065 0 POINT (192750.000 306750.000) 151107 29739 Gulpen-Wittem GM1729 7 Gemeenschapshuis Patronaat woonfunctie ... Gulpen-Wittem NaN info@gulpen-wittem.nl 14 043 https://www.gulpen-wittem.nl/onderwerpen/verki... NaN NLODSGM1729stembureaus20220316009 feb9d0a67a2f460f906d0d21e87bf690 NaN NaN 2813.494018

140002 rows × 46 columns

In [37]:
df_nearest.sort_values(by=['dist'], inplace=True)
df_nearest
Out[37]:
c28992r500 INWONER geometry savedindex _id Gemeente CBS gemeentecode Nummer stembureau Naam stembureau Gebruiksdoel van het gebouw ... Hoofdstembureau Tellocatie Contactgegevens gemeente Verkiezingswebsite gemeente Verkiezingen ID UUID Unnamed: 39 Unnamed: 40 dist
47198 E1005N4315 1420 POINT (100750.000 431750.000) 103081 4344 Ridderkerk GM0597 1 Gemeentehuis bijeenkomstfunctie,kantoorfunctie ... Ridderkerk ja Team Verkiezingen, info@ridderkerk.nl, 0180-45... https://verkiezingen.ridderkerk.nl NaN NLODSGM0597stembureaus20220316009 5a2769a4515b438c8688b3dbfaeb122d NaN NaN 3.835321
32760 E1435N4655 155 POINT (143750.000 465750.000) 78211 36545 Baarn GM0308 6 Dorpshuis de Furs woonfunctie ... Baarn ja verkiezingen@baarn.nl http://www.baarn.nl/verkiezingen NaN NLODSGM0308stembureaus20220316009 3a1d2164cad34a7fb0b6249930491a6d NaN NaN 4.000517
46560 E1970N4335 910 POINT (197250.000 433750.000) 101861 20667 Lingewaard GM1705 51 Ontmoetingscentrum Doornenburg bijeenkomstfunctie ... Lingewaard NaN verkiezingen@lingewaard.nl https://lingewaardkiest.nl/ NaN NLODSGM1705stembureaus20220316009 a8ddb12683d94507a6c88197360485db NaN NaN 4.465340
5146 E2405N5710 270 POINT (240750.000 571250.000) 15468 31912 Groningen GM0014 1 Dorpshuis De Hoeksteen woonfunctie ... Groningen NaN telefoon: 14 050 https://gemeente.groningen.nl/verkiezingen NaN NLODSGM0014stembureaus20220316009 fb222b59f52242d39476a0c6e301df47 NaN NaN 5.577246
38896 E1245N4505 880 POINT (124750.000 450750.000) 88659 31188 Montfoort GM0335 1 Zalencentrum St. Joseph bijeenkomstfunctie ... Montfoort NaN info@montfoort.nl https://www.montfoort.nl/mozard/!suite86.scher... NaN NLODSGM0335stembureaus20220316009 8b747761aa7f417ebd4958b0d1284672 NaN NaN 5.703409
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
22439 E1590N4920 10 POINT (159250.000 492250.000) 59523 11208 Lelystad GM0995 22 Gymzaal Kindcentrum Warande kantoorfunctie,onderwijsfunctie,sportfunctie,o... ... Lelystad NaN Gemeente Lelystad, Bureau Verkiezingen, Postbu... https://www.lelystad.nl/VerkiezingenStemmen NaN NLODSGM0995stembureaus20220316009 7c0bfe588d34460dad294172ff402c94 NaN NaN 8135.260944
22441 E1670N4920 5 POINT (167250.000 492250.000) 59539 36039 Harderwijk GM0243 28 Drive-In op parkeerplaats P2 overige gebruiksfunctie ... Harderwijk NaN Team verkiezingen, burgerzaken@harderwijk.nl https://www.harderwijk.nl/verkiezingen NaN NLODSGM0243stembureaus20220316009 5012c8e95b1349fe90d83abdc683c50b NaN NaN 8167.139659
51985 E2000N4140 20 POINT (200250.000 414250.000) 114100 16686 Berg en Dal GM1945 10 Zalencentrum De Sleutel bijeenkomstfunctie ... Berg en Dal ja verkiezingen@bergendal.nl http://www.bergendal.nl/verkiezingen NaN NLODSGM1945stembureaus20220316009 02745c1ebd904df893190b466c541228 NaN NaN 8232.928809
22440 E1620N4920 5 POINT (162250.000 492250.000) 59529 11199 Lelystad GM0995 33 Gymzaal De Borg onderwijsfunctie ... Lelystad NaN Gemeente Lelystad, Bureau Verkiezingen, Postbu... https://www.lelystad.nl/VerkiezingenStemmen NaN NLODSGM0995stembureaus20220316009 72de608fefe14b4da1e232488802a819 NaN NaN 8402.730770
22583 E1595N4915 10 POINT (159750.000 491750.000) 59865 11208 Lelystad GM0995 22 Gymzaal Kindcentrum Warande kantoorfunctie,onderwijsfunctie,sportfunctie,o... ... Lelystad NaN Gemeente Lelystad, Bureau Verkiezingen, Postbu... https://www.lelystad.nl/VerkiezingenStemmen NaN NLODSGM0995stembureaus20220316009 7c0bfe588d34460dad294172ff402c94 NaN NaN 8685.023942

67995 rows × 46 columns

In [38]:
df_nearest.plot.scatter(x = 'INWONER', y = 'dist', figsize=(13,13), xlabel="Inwoners per 500m² (laagste is 5)", ylabel="Afstand tot stemlokaal (meter)")
Out[38]:
<AxesSubplot:xlabel='Inwoners per 500m² (laagste is 5)', ylabel='Afstand tot stemlokaal (meter)'>
No description has been provided for this image
In [39]:
df_nearest_zero.plot.scatter(x = 'INWONER', y = 'dist', figsize=(13,13), xlabel="Inwoners per 500m² (inclusief lege (<5 inwoners) vierkanten)", ylabel="Afstand tot stemlokaal (meter)")
Out[39]:
<AxesSubplot:xlabel='Inwoners per 500m² (inclusief lege (<5 inwoners) vierkanten)', ylabel='Afstand tot stemlokaal (meter)'>
No description has been provided for this image
In [40]:
FIGSIZE = (13, 13)
def plot_bargraph_with_groupings(df, groupby, colourby, title, xlabel, ylabel):
    """
    Plots a dataframe showing the frequency of datapoints grouped by one column and coloured by another.
    df : dataframe
    groupby: the column to groupby
    colourby: the column to color by
    title: the graph title
    xlabel: the x label,
    ylabel: the y label
    """

    import matplotlib.patches as mpatches

    # Makes a mapping from the unique colourby column items to a random color.


    # Find when the indicies of the soon to be bar graphs colors.
    

    # Makes the bargraph.
    ax = df[groupby].value_counts().plot(kind='bar',
                                         figsize=FIGSIZE,
                                         title=title)
    # Makes a legend using the ind_col_map
    

    # display the graph.
    
    ax.set_xlabel(xlabel)
    ax.set_ylabel(ylabel)
In [41]:
plot_bargraph_with_groupings(gdf_wims, 'Gebruiksdoel van het gebouw', 'Gemeente', 'Gebruiksdoelen van Stemlokalen', 'Gebruiksdoel', 'Hoeveelheid Stemlokalen')
No description has been provided for this image

Dit is onbruikbaar, de categorieën moeten elk één balkje zijn, niet zoals dit.

In [42]:
gdf_wims_exploded = gdf_wims.drop('Gebruiksdoel van het gebouw', axis=1).join(
  gdf_wims['Gebruiksdoel van het gebouw'].str.split(',', expand=True).stack().reset_index(level=1,drop=True).rename('Gebruiksdoel van het gebouw'))
In [43]:
plot_bargraph_with_groupings(gdf_wims_exploded, 'Gebruiksdoel van het gebouw', 'Gemeente', 'Gebruiksdoelen van Stemlokalen', 'Gebruiksdoel', 'Hoeveelheid Stemlokalen')
No description has been provided for this image
In [44]:
#de eerste vijf rijen zijn meta-data en kunnen we gerust weghalen voor nu 
df_gr_gr = pd.read_csv(r'../data/stemmen/01_Groningen/osv4-3_telling_gr2022_groningen.csv', skiprows=5, header=None, delimiter=';')
print(df_gr_gr)
              0                    1           2                3       4    \
0     Lijstnummer           Aanduiding  Volgnummer   Naam kandidaat  Totaal   
1    Gebiednummer                  NaN         NaN              NaN     NaN   
2        Postcode                  NaN         NaN              NaN     NaN   
3             NaN         opgeroepenen         NaN              NaN  194113   
4             NaN      geldige stempas         NaN              NaN   96830   
..            ...                  ...         ...              ...     ...   
445           NaN                  NaN           5     Oetomo, A.D.      38   
446           NaN                  NaN           6         Smid, D.      25   
447           NaN                  NaN           7  van Welij, P.Z.      10   
448            16  Blanco (Dokter, T.)         NaN              NaN     100   
449           NaN                  NaN           1       Dokter, T.     100   

                                5    \
0    GRID Grafisch Museum Groningen   
1                               101   
2                           9712 JN   
3                              1396   
4                               560   
..                              ...   
445                               0   
446                               0   
447                               0   
448                               0   
449                               0   

                                            6    \
0    Gemeente Groningen (locatie Kreupelstraat)   
1                                           102   
2                                       9712 HW   
3                                          1311   
4                                           469   
..                                          ...   
445                                           0   
446                                           0   
447                                           0   
448                                           0   
449                                           0   

                                            7            8            9    \
0    Gemeente Groningen (locatie Kreupelstraat)  Der Aa-kerk  Der Aa-kerk   
1                                           103          104          105   
2                                       9712 HW      9711 JB      9711 JB   
3                                          1311         1311         1311   
4                                           491          595          607   
..                                          ...          ...          ...   
445                                           0            0            0   
446                                           0            0            0   
447                                           0            0            0   
448                                           0            0            0   
449                                           0            0            0   

     ...              175         176              177                  178  \
0    ...  MFC 't Vinkhuys  De Fontein  Trefpunt Beijum  Wijkcentrum Het Dok   
1    ...              827         828              829                  830   
2    ...          9743 BJ     9741 EZ          9737 AB              9733 CA   
3    ...                0           0                0                    0   
4    ...              369         503              367                  537   
..   ...              ...         ...              ...                  ...   
445  ...                0           0                0                    0   
446  ...                0           2                0                    0   
447  ...                0           0                0                    0   
448  ...                2           2                1                    0   
449  ...                2           2                1                    0   

                      179                     180  \
0    PKN Blister Ten Boer  Buurtcentrum Stadspark   
1                     831                     832   
2                 9791 CP                 9727 HW   
3                       0                       0   
4                     218                     283   
..                    ...                     ...   
445                     0                       0   
446                     0                       0   
447                     0                       0   
448                     0                       2   
449                     0                       2   

                                           181            182  \
0    Kerk van J.C. van de H. der Laatste Dagen  Maranathakerk   
1                                          833            834   
2                                      9728 AR        9721 PE   
3                                            0              0   
4                                          302            473   
..                                         ...            ...   
445                                          0              0   
446                                          3              0   
447                                          0              1   
448                                          0              0   
449                                          0              0   

                             183                 184  
0    Tennispark Vorenkamp (GLTB)  Gemeentehuis Haren  
1                            835                 836  
2                        9722 HJ             9751 AN  
3                              0                   0  
4                            495                 815  
..                           ...                 ...  
445                            0                   0  
446                            0                   0  
447                            0                   0  
448                            0                   0  
449                            0                   0  

[450 rows x 185 columns]

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.

In [45]:
#TODO:mobiele stemlokalen eruit filteren die NIET 0,0 zijn
#TODO:datastandaard duitse verkiezingen stemlokaalafstand opzoeken
</html>