2017-01-25 2 views
2

Für meinen Bachelor-Abschluss in Economics muss ich Daten zum Energieverbrauch analysieren. Ich habe jedoch einige Dateien in einem bestimmten Format geliefert und ich habe Probleme mit der Änderung dieser Daten, um es für mich nützlich zu machen und in der Lage zu sein, es mit Stata zu analysieren.Wie kann ich Daten von Zeitmarken zum Verbrauch pro Tag pro Benutzer ändern?

Ich habe Grundkenntnisse in Python und SQL, aber bisher ist es mir nicht gelungen, meinen letzten Datensatz für meine Diplomarbeit zu verwenden. Ich wäre dankbar für all Ihre Hilfe :)

Das Problem: Ich habe einen Datensatz mit 3 Spalten und 23 Millionen Zeilen. Die 3 Spalten sind Zeitstempel, Benutzer (ca. 130 Benutzer) und Verbrauch (Watt pro Sekunde).

Example of data set in Access

Im ersten Beispiel können Sie sehen, dass einige Nutzer negativ Verbrauch haben.

Diese Benutzer sind für meine Forschung irrelevant und alle Benutzer mit negativen Verbrauchswerten können entfernt werden. Wie kann ich das leicht machen?

Im zweiten Beispiel wird der Rohdatensatz angegeben. Die Zeitstempel basieren auf Intervallen von etwa 10-15 Sekunden und sind aufeinanderfolgend. So misst die Messung 1458185209 10-15 Sekunden nach der Messung mit dem Zeitstempel 1458185109. Diese Zeitstempel werden anonym generiert. Ich kenne jedoch die genaue Anfangs- und Endzeit und das Datum der Messungen.

Aus diesen Informationen möchte ich den durchschnittlichen Verbrauch (In KWatt/Stunde) pro Benutzer pro Tag berechnen. Sagen wir, es gibt 300.000 Messpunkte pro Benutzer im Datensatz. Die gesamte Messzeit beträgt 2 Monate. So kann der Durchschnittsverbrauch eines Benutzers berechnet werden, indem der Durchschnitt von Zeitstempel 1 bis Zeitstempel 4918 (300.000/61 Tage) genommen wird.

Ich möchte dies für alle Benutzer für alle Tage in dem angegebenen Zeitraum tun.

Ich habe einige Grundlagen in Acces, Python und MySQL. Alle Computer, die ich versuchte, haben Probleme mit 23 Millionen Zeilen in Access. In Access kann ich einfach nicht damit "spielen", weil jede Wiederholung etwa eine halbe Stunde dauert. Vielleicht könnte die Option sein, ein Python-Skript zu schreiben?

Wie gesagt, ich bin Student in Wirtschaftswissenschaften und nicht in Data Science, also hoffe ich wirklich, dass Sie mir helfen können, dieses Problem zu überwinden. Ich bin offen für irgendwelche Vorschläge! Ich habe versucht, das Problem so spezifisch wie möglich zu beschreiben, wenn es etwas unklar ist, lass es mich wissen :)

Vielen Dank!

+0

MS Access ist also nicht die richtige Datenbank dafür. Stack Overflow ist nicht für Empfehlungen gedacht, aber ich werde Postgres, SQL Server Express, BigQuery (Testversion) als kostenlose Lösungen erwähnen, die bessere Funktionen bieten. –

Antwort

0

Haben Sie Indizes für Ihr Dataset definiert? Setzen Sie einen Index für Benutzer, Zeitstempel, und Benutzer und Zeitstempel können die Leistung einiger Ihrer Abfragen erheblich verbessern.

Wenn Sie mit den vielen Daten arbeiten, wird es wahrscheinlich am besten sein, so viele Berechnungen wie möglich an die Datenbank zu verteilen und nur die bereits verarbeiteten Daten zur weiteren Analyse nach Python zu ziehen.

Verwandte Themen