Es gab ein Problem beim Lesen der 30-Sekunden-Zyklusdaten, die in einem Jahr an mehreren Basen gesammelt wurden, und beim Berechnen des Gesamtwerts jedes Mal, und ich konnte es überhaupt nicht verarbeiten, wenn ich es mit der einfachen Methode tat, also werde ich den Inhalt notieren, den ich ein wenig entwickelt habe.
Datum, Uhrzeit und Wert werden für jede Basis im CSV-Format eingegeben.
Datum (und Uhrzeit | Wert |
---|---|
2018-10-01 00:00:00 | 4 |
2018-10-01 00:00:30 | 1 |
2018-10-01 00:01:00 | 2 |
2018-10-01 00:01:30 | 6 |
2018-10-01 00:02:00 | 7 |
2018-10-01 00:02:30 | 7 |
: | : |
2019-09-31 23:59:30 | 7 |
Diese Daten werden an mehr als 100 Standorten gesammelt. Außerdem war es nicht in Echtzeit, sondern der Inhalt sollte nach einer bestimmten Zeit aggregiert werden.
Nach einfacher Berechnung beträgt ein Standort 1.051.200, und 100 Standorte umfassen insgesamt 105.120.000 Daten.
...Milliarde(-_-;)
Lesen Sie alle Dateien auf einmal, gruppieren Sie sie nach Datum und Uhrzeit und erhalten Sie den Gesamtwert!
python
from glob import glob
import pandas as pd
files = glob("data/*.csv")
df = pd.DataFrame()
for file in files:
df = pd.concat([df, pd.read_csv(file)])
df = df.groupby("Datum (und Uhrzeit").sum()
df.to_csv("Gesamtwert.csv")
... Die RAM-Nutzung nutzt ständig den Swap-Bereich und endet mit einem Fehler, wenn er nach einem halben Tag 80 GB überschreitet.
Ich habe versucht, die Anzahl der Dateien zu reduzieren und den Gesamtwert nach und nach zu berechnen, aber es scheint nicht zu funktionieren.
Ich habe jedes Mal versucht, die Datei zu lesen und den Gesamtwert zu berechnen.
python
from glob import glob
import pandas as pd
files = glob("data/*.csv")
df = pd.DataFrame()
for file in files:
df = pd.concat([df, pd.read_csv(file)])
df = df.groupby("Datum (und Uhrzeit").sum().reset_index()
df.to_csv("Gesamtwert.csv")
Infolgedessen dauerte es nur wenige Minuten, ohne den Arbeitsspeicher zu überlasten.
Es mag selbstverständlich sein, und wenn ich es erst einmal verstanden habe, ist es nichts mehr zu tun, aber da ich ein wenig Zeit verbracht habe, dachte ich, es wäre gut, wenn auch nur eine Person mit den gleichen Schwierigkeiten reduziert werden könnte, also habe ich es aufgenommen.
Meine Arbeit beginnt übrigens hier. Datenanalyse, lasst uns unser Bestes geben ... (-_-;)
Recommended Posts