Jacob Fricke Data Analyst For Good

Wahlergebnisse und Wahlkreise mit Python

W

Für dieses Beispiel benötigst Du die Geometrie der Wahlkreise als Shape-Datei und die Ergebnisse der vergangenen Bundestagswahl als CSV-Datei. Beides kannst Du auf den Seiten des Bundeswahlleiters herunterladen:

Dann geht es schon los.

Installiere Geopandas und lade die benötigten Libraries

pip install geopandas
import geopandas as gpd
import matplotlib.pyplot as plt
import pandas as pd

Importiere Geometriedaten

map_wk = gpd.read_file("Geometrie_Wahlkreise_19DBT_geo.shp")

Zeichne Karte mit Wahlkreisen

f, ax = plt.subplots(1, figsize=(12, 18))
ax = map_wk.plot(ax=ax)
ax.set_axis_off()
Unknown-32 Data Analytics

Importiere Wahlergebnisse von 2017

data_df = pd.read_csv("wk_votes.csv")
data_df.head()
Bildschirmfoto-2021-05-27-um-23.11.04-1024x262 Data Analytics

Verknüpfe Wahldaten und Geometrie der Wahlkreise

combined = map_df.set_index("WKR_NR").join(data_df.set_index("wk")).reset_index()

Jetzt kann es auch schon losegehen. Zum Beispiel mit einer Karte der Zweitstimmen der Grünen

fig, ax = plt.subplots(1, figsize=(12, 18))
combined.plot(column="green_second_vote", cmap="Greens", 
                   linewidth=0.8, ax=ax)
ax.axis("off")

vmin = 0
vmax = data_df["green_second_vote"].max()

sm = plt.cm.ScalarMappable(cmap="Greens", 
                           norm=plt.Normalize(vmin=vmin, 
                           vmax=vmax))
sm._A = []
cbar = fig.colorbar(sm, fraction=0.046, pad=0.04)
Unknown-33-1 Data Analytics

Oder alternativ für die SPD…

fig, ax = plt.subplots(1, figsize=(12, 18))
combined.plot(column="spd_second_vote", cmap="Reds", 
                   linewidth=0.8, ax=ax)
ax.axis("off")

vmin = 0
vmax = data_df["spd_second_vote"].max()

sm = plt.cm.ScalarMappable(cmap="Reds", 
                           norm=plt.Normalize(vmin=vmin, 
                           vmax=vmax))
sm._A = []
cbar = fig.colorbar(sm, fraction=0.046, pad=0.04)
Unknown-34 Data Analytics

About the author

Jacob Fricke

Hi, ich bin Jacob. Ich arbeite als Fundraiser und Datenanalyst bei Campact. Mehr Informationen über mich findest Du auf dieser Seite.

Von Jacob Fricke
Jacob Fricke Data Analyst For Good

Erhalte meinen wöchentlichen Newsletter, in dem ich Dir meine besten Tipps zum Thema Online-Fundraising, A/B-Testing, Data Science und Produktivität gebe!

100% Privatsphäre. Kein Spam.