Open Data Zürich

Crashkurs «Datenvisualisierung»

Ein Kurs für Anfänger und Anfängerinnen im Umgang mit Daten

Project Status: Inactive – The project has reached a stable, usable state but is no longer being actively developed; support/maintenance will be provided as time allows.

Einfache Datenanalyse und -visualisierung mit Excel und Datawrapper

Fragestellung: «Stimmt es, dass es in Zürich in den meisten Stadtquartieren mehr Hunde als Kleinkinder gibt?»

Während dieses Kurses gehen wir dem Gerücht nach, ob in den meisten Stadtquartieren tatsächlich mehr Hunde als Kleinkinder leben. Wir werden mit Open Data die Fakten dazu checken und zeigen, wie wir die gewonnenen Erkenntnisse darstellen und sogar als interaktive Webgrafiken visualisieren können.

Damit wir diese Fragestellung einfach und mit für alle Kursteilnehmenden vorhandenen Tools beantworten können, haben wir uns für Excel und Datawrapper entschieden.

Teil 1: Daten finden

Zur Beantwortung der Fragestellung benötigen wir die dazu relevanten Daten. Wir müssen uns zuerst auf die Suche machen, wo wir die Anzahl Hunde und die Anzahl Kleinkinder pro Stadtquartier und Jahr beziehen können. Wie gut also, dass es in der Stadt Zürich einen Open Data Katalog gibt, auf dem alle frei verfügbaren Verwaltungsdaten aufgelistet, ausführlich beschrieben und einfach durchsuchbar zum Download vorliegen ;)

Damit ist unser erster Teil zum Thema «Daten finden» beendet. Solltest Du später einmal für eine andere Fragestellung auf dem Open Data Katalog der Stadt Zürich nicht fündig werden, können auch viele andere Open Data Quellen konsultiert werden. Auf nationaler Ebene werden unter opendata.swiss sämtliche offenen Verwaltungsdaten von verschiedenen Bundesstellen, anderen Kantonen und Städten angeboten.

Teil 2: Excel

CSV… what?

Eines der Grundprinzipien von Open Data ist, dass die Datensätze in nicht-proprietären Formaten veröffentlicht werden sollen. Sprich, für die Verwendung der Daten sollen die AnwenderInnen nicht auf kommerzielle Software angewiesen sein. Damit soll allen die gleiche Möglichkeit gegeben werden, mit den Daten arbeiten zu können. Das Excelformat (.xls oder .xlsx) ist ein Beispiel eines proprietären Datenformats, weil es zur Verwendung Excel erfordert.

Das Standardformat für tabellarische Daten ist daher CSV. CSV steht für Comma-separated values (komma-getrennte Werte).

CSV-Beispiel:

CSV-Dateien haben meistens auf der ersten Zeile eine Spaltenüberschrift und auf den nachfolgenden Zeilen dann die kommaseparierten Werte.

"zeitpunkt","bruttolastgang","status"
"2020-01-01T00:15",66546.656045,"E"
"2020-01-01T00:30",66018.362440,"E"
"2020-01-01T00:45",65272.630020,"E"
"2020-01-01T01:00",64385.925397,"E"
"2020-01-01T01:15",63578.900426,"E"
"2020-01-01T01:30",63105.155989,"E"
"2020-01-01T01:45",62287.860786,"E"
"2020-01-01T02:00",61283.998490,"E"

Werte zwischen Anführungszeichen sind entweder Texte oder Datumswerte. Wo keine Anführungszeichen stehen, handelt es sich um numerische Werte. Die Kodierung für Unicode-Zeichen ist dabei standardmässig UTF-8. Der angezeigte CSV-Auszug oben repräsentiert die folgende Tabelle:

DarstellungExcel

CSV-Datensätze in Excel laden

Vielleicht fragst Du Dich unterdessen, wozu der ganze Exkurs über CSV dienlich sein soll…(?) Leider ist es so, dass viele Datennutzende bereits zu diesem Zeitpunkt scheitern, wenn sie noch nie mit CSV gearbeitet haben und eine CSV-Datei in Excel öffnen wollen. Daher zeigen wir Euch in diesem Abschnitt, wie man vorgehen sollte, wenn man mit CSV-Datensätzen in Excel arbeiten möchte.

Wie es NICHT funktioniert: Ein Doppelklicken auf eine CSV-Datei - wie in unten gezeigter Animation gezeigt - funktioniert leider in den meisten Fällen nicht. Obwohl man gemäss des im Beispiel angezeigten Icons der Datei das Gefühl hätte, dass dies so möglich sein sollte. Folgendes geschieht jedoch stattdessen:

Die CSV-Datei wird zwar in Excel geöffnet, es findet dabei jedoch keine Trennung der einzelnen Attribute in Spalten statt (vgl. mit der oben gezeigten Tabelle). Mit der hier gezeigten Vorgehensweise sind alle Werte in eine Spalte (hier Spalte A) eingefügt worden. Damit lässt sich nicht bequem weiterarbeiten. [NACHTRAG: wir wurden nach dem Crashkurs drauf aufmerksam gemacht, dass das hier beschriebene Problem anstelle des gleich folgenden Lösungsbeschriebs alternativ auch mit folgenden Schritten behoben werden könnte: Wähle im Menu Daten > Text in Spalten .]

Der Clou: CSV-Datei IMPORTIERTEN

Damit ihr wie erwartet, basierend auf einem CSV-Datensatz, in Excel weiterarbeiten könnt, solltet ihr den CSV-Datensatz importieren. Dazu könnt ihr folgendermassen vorgehen:

Damit sind wir fertig mit dem Datenimport. Unser Excelfile Kleinkinder_und_Hunde.xlsx beinhaltet nun zwei Arbeitsblätter mit den Hunde- und Bevölkerungsbestandsdaten, welche wir im nächsten Schritt analysieren werden.

Datenauswertung mit Excel

Excel ist bezüglich Datenanalyse selbstverständlich nicht allererste Sahne. Fortgeschrittenere Datennutzende verwenden in der Regel eher Statistiktools wie R (siehe dazu Ressourcen, wie Rddj oder RStudio Education) oder Python (siehe dazu Ressourcen, wie Data analysis with Python oder Information Visualization).

Excel bietet jedoch mehr und einfachere Datenanalysemöglichkeiten, als man auf den ersten Blick vielleicht annehmen würde. Für diesen Kurs möchten wir Euch das einfache Excel-Tool PivotCharts und PivotTable etwas näher bringen.

Wenn ihr Euch die eben importierten Daten anschaut, dann seht ihr, dass wir sie - um daraus Erkenntnisse zu gewinnen - im wesentlichen filtern und entsprechend summieren können müssen. PivotTable bietet diese Funktionalitäten sehr einfach, interaktiv und effizient an. PivotCharts ist eine Ergänzung von PivotTables und erlaubt ebenfalls ein einfaches interaktives visualisieren der Daten. Damit können auf einfache Weise Muster erkannt und Vergleiche angestellt werden.

Anzahl Kleinkinder nach Stadtquartier

Beginnen wir zuerst einmal damit herauszufinden, wie viele Kleinkinder es pro Stadtquartier am 31.12.2019 gab.

Anzahl Hunde nach Stadtquartier

Als nächstes gehen wir analog der vorherigen Schritte vor und analysieren nun, wie viele Hunde es pro Stadtquartier Anfangs März 2020 gab.

Vergleich zur Anzahl Hunde und Kleinkinder

Damit wir die Resultate der Anzahl Hunde und Anzahl Kleinkinder pro Stadtquartier vergleichen können, kopieren wir am einfachsten die Resultate der Pivot-Tabellen in ein neues Arbeitsblatt.

Überrascht vom Resultat?

Nun haben wir also Gewissheit: Ende 2019 lebten nur im Stadtquartier Lindenhof (Bevölkerungszahl 2019: 1’009) im Kreis 1 mehr Hunde (27) als Kleinkinder (22). Bei allen Stadtquartieren im Kreis 1 war die Differenz zwischen Kleinkindern und Hunden relativ klein. Am grössten ist die Differenz hingegen in den bevölkerungsreichsten Stadtquartieren Altstetten (mit +1’133) und Affoltern (+1’115).

Teil 3: Datawrapper

Für dieses Kurs verwenden wir das kostenlose Tool Datawrapper, welches ohne Login ausprobiert werden kann. Es wird bereits von vielen Datenjournalisten eingesetzt, da es sehr benutzerfreundlich ist und sich damit ohne eigenen Code zu schreiben Visualisierungen fürs Web erstellen lassen.

Datawrapper steht hier stellvertretend für viele andere Tools, die einen ähnlichen Funktionsumfang bieten:

Daten vorbereiten

Wie wir in Teil 2 gesehen haben, müssen Daten zuerst in eine Form gebracht werden, in der sie visualisiert werden können. In diesem Schritt arbeiten wir also wieder mit der Excel-Datei aus dem letzten Teil. Es steht auch eine Beispiel-Exceldatei zur Verfügung (inkl. den verlinkten CSVs).

Hunde nach Stadtquartier und Geschlecht

Als nächstes möchten wir eine interaktive Grafik erstellen basierend auf dem Hundebestand. Dazu müssen wir eine neue Pivot-Tabelle erstellen, mit der wir die Werte für die Grafik aggregieren können:

Pivot-Tabelle für Hunde nach Stadtquartier und Geschlecht

Daten in Datawrapper laden

Um die Daten von Excel zu Datawrapper zu importieren, kann der Wizard von Datawrapper verwendet werden.

Wizard von Datawrapper um Daten zu laden

Diagramm erstellen

Im letzten Schritt geht es jetzt noch darum, das Diagramm zu definieren. Die vorliegenden Daten zeigen pro Quartier die Anzahl weibliche und die Anzahl männliche Hunde. Es liegt daher nahe ein gestapeltes Säulendiagramm zu erstellen, da ein Balken pro Quartier für alle Hunde steht und dieser nach Geschlecht aufgeteilt ist.

Resultat

Voilà, hier das Resultat (ein Klick auf das Bild öffnet die interaktive Grafik):

Diagramm von Datawrapper

Kleinkinder-Hunde Koeffizient

Als Abschluss möchten wir das Verhältnis zwischen Kleinkindern und Hunden auf einer Karte der Stadt Zürich darstellen. Dazu werden wir eine sogenannte Choroplethenkarte (Flächenkartogramm) erstellen. Auf solchen thematischen Karten wird das Verhältnis einer Grösse zum Gebiet dargestellt (z.B. Bevölkerungsdichte).

Aus diesem Grund fügen wir im Excel auf dem bestehenden Arbeitsblatt Vgl_Kleinkinder_Hunde eine weitere Spalte hinzu.

Choroplethenkarte erstellen

Neben den Diagrammen, können mit Datawrapper auch einfache Karten erstellt werden.

Anschliessend können noch Anpassungen an der Karte vorgenommen werden wie z.B. das verändern der Farbskala oder das einzigen der Quartiernamen anstatt der Codes.

Resultat

Voilà, hier das Resultat (ein Klick auf das Bild öffnet die interaktive Karte): Choroplethen-Karte

Anhänge

Excel-Datei

Die Excel-Datei, auf der dieser Kurs basiert, kann von GitHub heruntergeladen werden: ZIP-Datei mit den verlinkten CSVs. Excel-Datei

Beim Öffnen wird Excel eine Warnung anzeigen, dass die Datei repariert werden muss. Dies liegt daran, dass der Pfad zu den CSV-Dateien nicht gefunden wird. Der Fehler kann ignoriert werden für diesen Kurs.

Tutorials

Datawrapper

Datawrapper hat eine Reihe von Tutorials und Schulungsunterlagen, die die einzelnen Diagramm- und Karten-Typen erklären und wie damit Visualisierungen erstellt werden können.

Beispiele:

Programmierung (R, Python, SPARQL)