Mit diesem Arbeitsblatt erlernen wir die ersten Schritte mit Jupyter, Python, pandas und matplotlib anhand eines praktischem Beispiels: Der Analyse der Entwicklungsgeschichte des Linux Kernels.
Das komplette und ausführlich beschriebene Mini-Tutorial ist auch auf meinem Blog zu finden unter https://www.feststelltaste.de/mini-tutorial-git-log-analyse-mit-python-und-pandas/.
Als Basis haben wir einen Datensatz in einer Datei, der uns pro Commit den Zeitstempel sowie den Autor der Codeänderung aufführt:
timestamp,author
2017-12-31 14:47:43,Linus Torvalds
2017-12-31 13:13:56,Linus Torvalds
2017-12-31 13:03:05,Linus Torvalds
2017-12-31 12:30:34,Linus Torvalds
2017-12-31 12:29:02,Linus Torvalds
Diese Daten habe ich mir im Grunde über git
(https://git-scm.com) aus dem GitHub-Repository https://github.com/torvalds/linux/ erzeugen lassen (und für das Mini-Tutorial ein wenig vereinfacht...).
Aber der Reihe nach – lernen wir ersteinmal die Werkzeuge näher kennen.
In [ ]:
"Hello World"
ESC
.b
. m
.Enter
.Strg
+ Enter
"ausführst".
In [ ]:
In [ ]:
In [ ]:
In [ ]:
In [ ]:
In [ ]:
In [ ]:
read_csv
-Methode die Daten von der Adresse ein, die in URL
steht.compression='gzip'
mit an. git_log
.git_log
mit der Methode head()
an.
In [ ]:
URL = "https://raw.githubusercontent.com/feststelltaste/software-analytics/master/demos/dataset/git_demo_timestamp_linux.gz"
In [ ]:
Wir sehen, dass in git_log
timestamp
(=Commit-Zeitpunkt) habenauthor
(=Programmierer).author
mit der Schreibweise git_log.author
zu..isnull()
-Aufruf.missing
.missing
aus.
In [ ]:
In [ ]:
In [ ]:
In [ ]:
In [ ]:
In [ ]:
figsize=[7,7]
title="Top 10 Autoren"
labels=None
In [ ]:
In [ ]:
In [ ]:
In [ ]:
In [ ]:
Wir haben jetzt einige Grundlagen zu Pandas kennengelernt. Damit kommen wir schon sehr weit in der täglichen Arbeit. Die anderen wichtigen Themenbereiche, die nun noch fehlen, sind:
groupby
DataFrame
s mittels pivot_table
Ich hoffe, dass ich Dir mit diesem Mini-Tutorial das Potenzial von Datenanalysen mittels Jupyter, Python und matplotlib näherbringen konnte.
Über Anmerkungen und Feedback freue ich mich!
Markus Harrer
Blog: https://www.feststelltaste.de
Mail: talk@markusharrer.de
Twitter: @feststelltaste
Beratung und Training: http://markusharrer.de