I AWS EC2-Instanz CPU-Auslastung und andere metrische Daten haben mich im CSV-Format wie folgt angegeben:Agglomerat Zeitreihendaten
Date,Time,CPU_Utilization,Unit
2016-10-17,09:25:00,22.5,Percent
2016-10-17,09:30:00,6.534,Percent
2016-10-17,09:35:00,19.256,Percent
2016-10-17,09:40:00,43.032,Percent
2016-10-17,09:45:00,58.954,Percent
2016-10-17,09:50:00,56.628,Percent
2016-10-17,09:55:00,25.866,Percent
2016-10-17,10:00:00,17.742,Percent
2016-10-17,10:05:00,34.22,Percent
2016-10-17,10:10:00,26.07,Percent
2016-10-17,10:15:00,20.066,Percent
2016-10-17,10:20:00,15.466,Percent
2016-10-17,10:25:00,16.2,Percent
2016-10-17,10:30:00,14.27,Percent
2016-10-17,10:35:00,5.666,Percent
2016-10-17,10:40:00,4.534,Percent
2016-10-17,10:45:00,4.6,Percent
2016-10-17,10:50:00,4.266,Percent
2016-10-17,10:55:00,4.2,Percent
2016-10-17,11:00:00,4.334,Percent
2016-10-17,11:05:00,4.334,Percent
2016-10-17,11:10:00,4.532,Percent
2016-10-17,11:15:00,4.266,Percent
2016-10-17,11:20:00,4.266,Percent
2016-10-17,11:25:00,4.334,Percent
Wie ersichtlich, dies wird alle 5 Minuten gemeldet. Ich habe keinen Zugang zum aws-cli. Ich muss dies verarbeiten und die durchschnittliche Auslastung alle 15 Minuten für die Visualisierung melden. Das heißt, für jede Stunde muss ich den Durchschnitt der Werte in den ersten 15 Minuten, den nächsten fünfzehn Minuten usw. finden. Also werde ich jede Stunde 4 Werte melden.
würde eine Probe ausgegeben werden:
Date,Time,CPU_Utilization,Unit
2016-10-17,09:30:00,14.517,Percent
2016-10-17,09:45:00,40.414,Percent
2016-10-17,10:00:00,33.412,Percent
2016-10-17,10:15:00,26.785,Percent
...
Eine Möglichkeit, es zu tun, würde die gesamte Datei zu lesen seine Zeile (die 10000 + hat), dann für jeden Tag, um die Werte finden, die zu einem Fenster gehören von 15 Minuten, berechnen Sie ihren Durchschnitt und wiederholen Sie für alle Werte. Dies scheint nicht der beste und effizienteste Ansatz zu sein. Gibt es einen besseren Weg, es zu tun? Vielen Dank.
Ist die Datei wirklich zu groß, um sie vollständig einzulesen? 10000 Zeilen klingen nicht zu groß, um sie in einem 'numpy' Array zu lesen und dort zu verarbeiten. Ich denke, das sollte besser funktionieren, als die Datei zu durchlaufen und Zeile für Zeile zu lesen. – jotasi
@jotasi Nein, es ist nicht groß. Selbst ich dachte über den Ansatz nach, die gesamte Datei als Numpy-Array zu lesen. Wie würde ich dann weitermachen? Soll ich dann die zu einem bestimmten Datum gehörenden Zeilen lesen und dann fortfahren? Jede Hilfe wäre willkommen. – theironhide
Pandas ist gemacht, um so etwas zu tun. –