Bei einer Tabelle, in der die erste Spalte Sekunden über einen bestimmten Bezugspunkt ist, und das zweite ist ein willkürliches Maß:Glättung unregelmäßig abgetastete Zeitdaten
6 0.738158581
21 0.801697222
39 1.797224596
49 2.77920469
54 2.839757536
79 3.832232283
91 4.676794376
97 5.18244704
100 5.521878863
118 6.316630137
131 6.778507504
147 7.020395216
157 7.331607129
176 7.637492223
202 7.848079136
223 7.989456499
251 8.76853608
278 9.092367123
...
Wie man sieht, werden die Messungen in unregelmäßigen Zeitpunkten abgetastete . Ich muss die Daten glätten, indem ich den Messwert bis zu 100 Sekunden vor jeder Messung mittle (in Python). Da die Datentabelle riesig ist, wird eine Iterator-basierte Methode wirklich bevorzugt. Leider kann ich nach zwei Stunden Kodierung keine effiziente und elegante Lösung finden.
Kann mir jemand helfen?
EDIT s
ich für jede rohe Lesung eine geglättete Lesung wollen, und die geglättete Lesung ist das arithmetische Mittel der rohen Lesen und alle anderen in den vorangegangenen 100 (Delta) Sekunden sein . (John, sind Sie rechts)
Huge ~ 1e6 - 10e6 Linien + müssen mit engen RAM
Die Daten sind etwa Irrfahrt arbeiten
Die Daten sortiert ist
AUFLÖSUNG
Ich habe Lösungen von J Machin und yairchu getestet. Sie beide haben die gleichen Ergebnisse, jedoch auf meinem Datensatz, J Machins Version exponentiell, während die von Yairchu linear ist. Im folgenden werden als Ausführungszeiten von % timeit des IPython gemessen (in Mikrosekunden):
data size J Machin yairchu
10 90.2 55.6
50 930 258
100 3080 514
500 64700 2660
1000 253000 5390
2000 952000 11500
Vielen Dank für die Hilfe.
ist es zu groß, um in numply arrays behandelt zu werden? Wie viele Gegenstände hast du? –
Ist diese lineare Interpolation, um Punkte zu finden, die Vielfache von 100 sind? –
Wenn Sie Glättungsanforderungen haben, bitte etwas mehr ausarbeiten. Ich habe es ein paar Mal versucht, aber ich kann diese Beschreibung nicht analysieren: "Ich muss die Daten glätten, indem ich den Messwert bis zu 100 Sekunden vor jeder Messung mittle." – rix0rrr