Programmieren mit Python: Wahlergebnisse in interaktiver Karte darstellen

Mit Python lässt sich auf einer Karte visualisieren, wie ihre Nachbarn abgestimmt haben. Dafür bringen wir Geodaten und Wahldaten zusammen.

Artikel verschenken
vorlesen Druckansicht 45 Kommentare lesen
Lesezeit: 20 Min.
Von
  • Arnd Scharpegge
Inhaltsverzeichnis

Wahlen gehören zum Herz einer Demokratie. Daher sind die Daten für vergangene Wahlen in der Regel öffentlich auffindbar – viele Kommunen, Kreise und Länder stellen sie maschinenlesbar bereit. Sie eignen sich daher perfekt, um mit Python eine interaktive Karte zu erstellen und bestimmte Gebiete je nach Wahlgewinner einzufärben. So lässt sich schnell erkennen, wie ihre Nachbarschaft in den vergangenen Jahren abgestimmt hat.

Arnd Scharpegge

Arnd Scharpegge ist seit über 20 Jahren in der IT-Beratung tätig und arbeitet als Senior Solution Architect bei der Cpro IPS GmbH in den Bereichen Data Engineering, Python-Entwicklung und IoT-Projektrealisierung.

Heise+ Kompakt
  • Der Artikel beschreibt, wie man unter Verwendung von Python und Bibliotheken wie Plotly, GeoPandas und Marimo interaktive Karten erstellt, die Wahlergebnisse visualisieren und so das Abstimmungsverhalten in verschiedenen Gebieten darstellen.
  • Durch die VerknĂĽpfung von Geodaten mit Wahlergebnissen ist es möglich, detaillierte interaktive Grafiken zu erstellen, die zeigen, welche Partei in bestimmten Bezirken die meisten Stimmen erhalten hat.
  • Die Aufbereitung und Analyse der Daten umfassen verschiedene Schritte: von der Beschaffung der Daten ĂĽber die Anpassung an ein geeignetes Format bis hin zur visuellen Darstellung.

Wir erstellen in diesem Artikel eine interaktive Grafik für die Stadtbezirke von Hannover und verbinden dabei vorhandene Geodaten mit den Ergebnissen der letzten drei Wahlen. Natürlich lässt sich das Vorgehen auf andere Städte und andere Wahlen übertragen. Python hilft uns dabei mit Plotly, GeoPandas und Marimo: Plotly ist eine leistungsstarke Bibliothek zur interaktiven Datenvisualisierung, GeoPandas ermöglicht effiziente Datenanalyse und Geodatenverarbeitung mit Pandas-ähnlicher Syntax. Und Marimo ist ein Framework, um interaktive Python-Notebooks zu erstellen.

Dieser Artikel führt Sie dazu in das Be- und Verarbeiten von Geodaten ein – auch Geospatial Data Analysis genannt. Wir bauen die Beispiele in Marimo auf, einer neuen Software für Python-Notebooks ähnlich wie Jupyter, die wir in einem anderen Artikel bereits ausführlich beschrieben haben. Am Ende steht also eine Anwendung in Marimo. Dafür liest man die Wahlergebnisse der letzten Europa-, Landtags- und Bundestagswahl ein und passt sie an die Bedürfnisse an. Der Code gibt für die 13 Stadtbezirke Hannovers je Wahl visuell aus, welche Partei dort am meisten Stimmen erhalten hat. Anschließend erstellen wir noch eine Funktion, um alle Ergebnisse automatisch nacheinander in einer Autoplay-Funktion anzuzeigen.

Das war die Leseprobe unseres heise-Plus-Artikels "Programmieren mit Python: Wahlergebnisse in interaktiver Karte darstellen". Mit einem heise-Plus-Abo können Sie den ganzen Artikel lesen.