====== Analyse der YouTube-Daten ====== Dieses Beispiel soll zeigen, wohin die Reise führt. Die nötigen Tools und Grundlagen werden wir in den kommenden Wochen erarbeiten. ===== Erste Daten-Extraktion ===== * Laden Sie folgendes Python-Programm herunter {{ :lehrkraefte:blc:informatik:glf4-20:youtube-date-extractor.py |}} und speichern Sie diese in einem neuen Ordner. Eigene Daten sind wohl im Europäischen Format, dazu verwenden Sie folgende Python-Datei: {{ :lehrkraefte:blc:informatik:glf4-20:youtube-date-extractor-europe.py |}}. * Kopieren Sie Ihre Datei watch-history.html in den selben Ordner. * Wenn Sie keine eigene YouTube-Daten haben, können Sie die Datei {{ :lehrkraefte:blc:informatik:glf4-20:jan14-history.html |}} verwenden. * Starten Sie TigerJython und öffnen Sie in Tigerjython die Datei youtube-date-extractor.py. * Passen Sie nötigenfalls den Dateinamen in Zeile 12 an. * Führen Sie das Python-Programm aus. Dabei wir im selben Ordner eine Datei ''resultat.csv'' generiert. * Öffnen Sie diese mit Excel und testen Sie, ob diese Datumsangaben auch als Datumsangaben interpretiert werden. * Schauen Sie sich das Video mit den Erklärungen zum Code an (siehe Zeilen 4 bis 7 im Python-Programm). Auf [[https://web.microsoftstream.com/video/4c478e5b-609d-4429-bc20-78b9f8abab93|Stream]] oder datensparsam [[https://fginfo.ksbg.ch/~ivo/videos/informatik/vierte-klasse/daten-extraktion-youtube-watchtime-extraktion.mp4|direkt im Browser]]. * Falls Excel die Datumsangaben nicht korrekt interpretieren kann, passen andernfalls das Ausgabeformat im Python-Programm in der Zeile 62 so an, dass Excel die Datumsangabe korrekt interpretiert. ===== Daten nach Wochentagen oder Tageszeit aggregieren ===== Die Frage ist: Wie viele Videos wurden pro Wochentag geschaut? Können Sie das mit Excel ermitteln? Gehen sollte es schon, in Python ist es aber schneller, flexibler und auch mit neuen Daten sofort anwendbar. * Schauen Sie sich dazu folgendes Video an und modifizieren Sie den Python-Code entsprechend (pausieren Sie wenn nötig): [[https://fginfo.ksbg.ch/~ivo/videos/informatik/vierte-klasse/daten-extraktion-youtube-watchtime-aggregation.mp4|Aggregation nach Wochentagen]], auch auf [[https://web.microsoftstream.com/video/01abb9d3-d4ae-4fbd-9dfd-86313dba7610|Microsoft Stream]]. * Stellen Sie das Resultat dann grafisch in Excel dar. * Ändern Sie dann das Python-Programm so ab, dass Sie nach der Tageszeit (auf Stunden genau) aggregieren. Die Stunde einer Datumzeit-Angabe erhalten Sie mit ''datum.hour'' (wenn ''datum'' ein ''datetime''-Objekt ist). * Hier ist ein {{ :lehrkraefte:blc:informatik:glf4-20:youtube-date-extractor-aggregator-by-hour.py |Lösungsvorschlag (amerikanisches Datumsformat)}} und ein {{ :lehrkraefte:blc:informatik:glf4-20:youtube-date-extractor-europe-aggregator-by-hour.py |Lösungsvorschlag mit europäischem Datumsformat}} dafür. * Stellen Sie wiederum das Resultat grafisch in Excel dar. ===== Daten nach Datum aggregieren ===== Wir können annehmen, die Daten seien chronologisch sortiert. D.h. immer, wenn ein neues Datum angetroffen wird, wird das letzte Datum mit der Anzahl Aufrufen ausgegeben. So erhält man eine Timeline. Wie man das programmiert, erfahren Sie in [[https://fginfo.ksbg.ch/~ivo/videos/informatik/vierte-klasse/daten-extraktion-youtube-watchtime-aggregation-nach-datum.mp4|diesem Video]], das auch auf [[https://web.microsoftstream.com/video/4676ffb2-5649-4700-9862-1f1788da7a4a|Stream]] verfügbar ist. Stellen Sie diese Timeline in Excel dar. Ein mögliche Lösung mit LibreOffice ist in [[https://fginfo.ksbg.ch/~ivo/videos/informatik/vierte-klasse/daten-extraktion-timeline-in-libreoffice-mit-daten-auf-x-achse.mp4|diesem Video]] zu finden, auch auf [[https://web.microsoftstream.com/video/de26b57d-df75-4cd7-ad68-9c906be8ed57|Stream]].