~~NOTOC~~ ====== Datenanalyse ====== Wir werden die Daten erst einmal in einer Tabellenkalkulation (z.B. Excel) analysieren. Dazu müssen die Daten aber erst in ein Format konvertiert werden, das von Excel auch gelesen werden kann. Dazu verwenden wir einfach CSV-Dateien, die sind am einfachsten zu erzeugen. ===== Konvertierung ===== ==== You-Tube ==== * Speichern Sie folgendes Python-Script im gleichen Verzeichnis wie Ihre YouTube-Daten: {{lehrkraefte:blc:informatik:glf4-23:socialmedia-data:youtube-json-to-csv-convert.py}} {{ :lehrkraefte:snr:informatik:klasse-4:social-media-analyse:youtube-json-to-csv-convert-neu.py |}} * Falls Sie keine eigene YouTube-Daten (oder andere Daten im JSON-Format haben), können Sie folgende Daten verwenden (die ent-zippte Datei müssen Sie noch zu ''watch-history.json'' umbenennen): {{lehrkraefte:blc:informatik:glf4-23:socialmedia-data:old-data.json.zip}}. * In der git-bash, navigieren Sie in das Verzeichnis, in dem die Datei ''watch-history.json'' liegt und führen Sie das Python-Script ''youtube-json-to-csv-convert.py'' ''youtube-json-to-csv-convert-neu.py''aus. * Öffnen Sie die generierte CSV-Datei in Excel Dazu gibt einen Screencast: [[https://fginfo.ksbg.ch/~ivo/videos/informatik/vierte-klasse-2023/04-youtube-json-to-csv.mp4|Direktlink]] oder auf [[https://bldsg-my.sharepoint.com/:v:/g/personal/ivo_bloechliger_ksbg_ch/Edoi9blJy7pEp5UvqddapyUBSdxhVJpqF53z85KbUryigw?e=QWf7Q1|SharePoint]]. Falls Sie andere Daten haben, versuchen Sie das Konvertierungsscript anzupassen. Fragen Sie Ihren Informatiklehrer und/oder senden Sie ihm einen Auszug Ihrer JSON-Datei (die Struktur der relevanten Einträge muss komplett erhalten sein, dafür reicht aber im Prinzip ein Eintrag). ==== Instagram ==== Wir werden die Zeitangaben extrahieren. Entweder aus einzelnen Dateien, oder gleich aus allen. Das kann recht einfach direkt auf der Kommandozeile gemacht werden: **Aus einer Datei** ''beispiel.json'': grep '"timestamp"' beispiel.json | cut -f2 -d: > timestamps.txt **Aus allen Dateien** im aktuellen Verzeichnis und allen Unterverzeichnissen: grep -hR '"timestamp"' | cut -f2 -d: > timestamps.txt Erklärung: * ''grep'' liefert alle Zeilen, die ein Muster enthalten, in diesem Fall ''timestamp'' von Anführungszeichen eingeschlossen. * ''cut'' liefert das zweite Feld ''-f2'' nach dem Doppelpunkt ''-d:''. * ''> timestamps.txt'' leitet die Ausgabe in eine Datei um. Die Zeitstempel sind meist in Sekunden nach dem 1.1.1970, z.T. in Millisekunden. Folgendes Pythonprogramm konvertiert diese Zeitstempel in ein Format, womit Excel umgehen kann: {{lehrkraefte:blc:informatik:glf4-23:socialmedia-data:timestamps2csv.py}} Dieses kann wie folgt gebraucht werden: python timestamps2csv.py timestamps.txt" Das Erzeugt eine CSV-Datei ''timestamps.txt.csv'', die z.B. mit Excel eingelesen werden kann. ==== Snapchat ==== Bei Snapchat können aus der Datei ''location_history.json'' die Standortdaten extrahiert werden. Dazu verwenden Sie folgendes Pythonscript: {{lehrkraefte:blc:informatik:glf4-23:socialmedia-data:location_history_analyzer.py}} {{ :lehrkraefte:snr:informatik:klasse-4:social-media-analyse:location_history_analyzer-februar-2024.py |}} (im gleichen Verzeichnis speichern und dort ausführen). Es wird eine Datei ''location_history.csv'' generiert. Damit das deutsche Excel die CSV-Datei «Comma separated values» korrekt lesen kann, müssen Kommas zu Strichpunkten konvertiert werden... Entweder passen Sie das Python-Script an oder Sie verwenden folgende Kommandozeile: cat location_history.csv | tr \, \; > location_history_de.csv ===== Analyse der Zeitstempel (YouTube und Instagram Daten) ===== Erzeugen Sie eine Pivot-Tabelle dieser Daten, aggregiert nach Wochentag und Stunde. Schauen Sie sich dazu folgendes Video: Screencast: [[https://fginfo.ksbg.ch/~ivo/videos/informatik/vierte-klasse-2023/05-youtube-csv-excel-pivot-tabelle.mp4|Direktlink]] und auf [[https://bldsg-my.sharepoint.com/:v:/g/personal/ivo_bloechliger_ksbg_ch/EfigS1P1v-RAlZlbh4tTRaEB1WUV9FEnpy5EuoBcinjLrg?e=OHVCcj|SharePoint]]. * Überprüfen Sie, ob Sonntag oder Montag der erste Wochentag in Excel ist (in meinem LibreOffice ist Sonntag der Tag 1 (wohl weil mein Computer auf US-amerikanisch eingestellt ist). * Filtern Sie die Daten nach Datum. Vergleichen Sie dazu z.B. den September (Schulbetrieb) mit Juli (Sommerferien). ===== Analyse der Standortdaten (Snapchat) ===== * Öffnen Sie die CSV-Datei mit Excel (erst Kommas in Strichpunkte umwandeln, falls noch nicht gemacht. * Speichern Sie die Datei im ''.xlsx''-Format * Selektieren Sie dann die obersten drei Zellen * Drücken Sie CtrlShift, um alle Zellen in der ersten drei Spalten zu selektieren. * Dann «Einfügen, 3D Karte», evtl. muss die Erweiterung noch installiert werden. * Datenfelder konfigurieren (u.a. auch die Zeit festlegen) * Siehe auch https://www.youtube.com/watch?v=f2bZ7EkIcpU * Damit spielen ==== Evtl. nützliche Links ==== * https://wiki.openstreetmap.org/wiki/Bounding_Box * https://jmw-geo.com/showing-geographic-data-with-spreadsheet-software/ * https://locationhistoryvisualizer.com/heatmap/ * https://data.solita.fi/visualizing-location-data-by-time-excel-3d-map/ Gut möglich, dass Ihr Android-Hany Ihren Standort ebenfalls aufzeichnet. Diese Daten sind dann auf https://myaccount.google.com/data-and-privacy#things-you-do einsehbar (wohl direkt auch auf Maps).