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:
groupbyDataFrames mittels pivot_tableIch 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