family status kiel, germany

Jupyter Notebook – CSV-Datei & Liniendiagramm

Auch in diesem kurzen Tutorial soll wieder ein Liniendiagramm mit Python 3 und dem Jupyter Notebook erstellt werden. Im Gegensatz zum vorhergehenden Liniendiagramm-Tutorial, werden die zugrunde liegenden Daten hier von einer CSV-Datei eingelesen.

Für dieses Beispiel verwende ich Daten der Landeshauptstadt Kiel, die Ihr hier abrufen könnt. Es soll die Entwicklung des Familienstandes (Ledige und Verheiratete) in Kiel im Zeitraum von 1988–2014 grafisch dargestellt werden. Um Probleme beim Import der CSV-Datei

"kiel_bevoelkerung_familienstand.csv"

zu vermeiden, habe ich vorweg in einem Texteditor sowohl die Umlaute in “Bevölkerung” als auch die erste Zeile entfernt.

Fangen wir an: Startet Euren Jupyter-Server und beginnt mit folgenden Importanweisungen:

import csv
import matplotlib.pyplot as plt

Das Paket matplotlib benötigen wir für die Visualisierung unseres Datensatzes. Das Paket csv ist für das Lesen der CSV-Datei erforderlich.

Nun geht es darum, die CSV-Datei einzulesen und die benötigten Daten in Listen abzulegen. Es interessieren uns nur die Jahre und der jeweilige Anteil an ledigen und verheirateten Personen, mithin die Spalten 4, 5 und 6.

# create empty lists
jahr = []
ledig = []
verheiratet = []

with open('kiel_bevoelkerung_familienstand.csv') as csvfile:
readCSV = csv.reader(csvfile, delimiter=';')

for row in readCSV:        
    jahr.append(int(row[4]))
    ledig.append(float(row[5]))
    verheiratet.append(float(row[6]))

Selbstverständlich soll die Grafik auch einen Title und Beschriftungen erhalten:

plt.title("Kiel - Familienstand\n1988-2014 (für 1993 liegt kein Wert vor)")
plt.xlabel("Jahr")
plt.ylabel("in Tsd.")

Die eigentliche Grafik wird mit

plt.plot(jahr, ledig, "r*-", markersize=6, linewidth=1, color='g', label="ledig")
plt.plot(jahr, verheiratet, "r*-", markersize=6, linewidth=1, color='r', label="verheiratet")

erzeugt, und die Position der Legende kann wie folgt bestimmt werden:

plt.legend(loc=(0.25, 0.75))

Damit im Jupyter Notebook die Grafik auch angezeigt wird, bedarf es zum Schluß noch der Anweisung:

plt.show()

Wie üblich gibt es den kompletten Code zum Download bei Github.

Hinweis: Wie Ihr Eurer Grafik entnehmen könnt, erfolgt die Skalierung der Jahre auf der X-Achse in Fünf-Jahresschritten (von 1985 bis 2015). Eine Anpassung dieser Skalierung (beispielsweise wie in der Beispielgrafik auf dieser Interntseite von 1988-2014) könnt Ihr mit einem Subplot vornehmen. Ein entsprechendes Code-Beispiel zeige ich in diesem Artikel.

Falls Ihr Fragen haben solltet oder Euch Fehler im Code aufgefallen sein sollten, schickt mir eine Nachricht per Twitter (@xernblog) oder eine Email an: python@bodo-schoenfeld.de

Weiterführende Links

Durch Benutzung dieser Website erklären Sie sich mit der Verwendung von Cookies einverstanden. Mehr Informationen

Die Verwendung von Cookies dient dazu, Inhalte und Anzeigen zu personalisieren, Funktionen für soziale Medien anbieten zu können und die Zugriffe auf diese Website zu analysieren. Außerdem werden Informationen zur Nutzung dieser Webseite an Partner für soziale Medien, Werbung und Analysen weitergegeben.

Schließen