2017-05-25 5 views
0

Ich habe eine Sequenz von Daten in Datetime DataFrame und müssen die Daten von einem Datum und Uhrzeit mit der anderen Zeit des Vortages zu vergleichen. Im Beispiel unten müsste ich zum Beispiel die prozentuale Veränderung von 2016-11-09 09:30:00 bis 2016-11-10 21:30:00 berechnen (im Wesentlichen von t @ 9:30 bis zum nächsten Datum in der Tabelle) @ 21:30.) Leider funktioniert eine einfache Verzögerungsfunktion möglicherweise nicht, da das Muster der Datensätze nicht vorhersehbar ist und möglicherweise nicht die gleiche Anzahl an Datensätzen zwischen den gewünschten Zeilen vorhanden ist.Vergleichen von Daten über Daten zu verschiedenen Zeiten

dates = pd.date_range('2016-11-09 09:30:00',periods=10, freq='12H') 
df =pd.DataFrame(np.random.randn(10,4)*100,index=dates,columns=list('ABCD')) 

           A|   B|   C|   D 
----------------------------------------------------------------------- 
2016-11-09 09:30:00| 74.409062| 3.635309| 17.603051| 6.743699 

2016-11-09 21:30:00| 25.707464| 133.592600| -176.460798| 236.354740 

2016-11-10 09:30:00| -13.035709| -82.974810| 106.204290| -31.382023 

2016-11-10 21:30:00| -120.712954| -2.636682| 16.839875| -12.177463 

2016-11-11 09:30:00| -195.382169| -102.214945| 84.151532| -130.732630 

.... 

Gibt es einen einfachen Weg, um diesen Vergleich zu tun, oder brauche ich ein for-Schleife laufen?

Antwort

0

Ich denke, der beste Ansatz könnte sein, die zwei Sätze von Datensätzen zu zwei verschiedenen Zeitpunkten in zwei Datenrahmen aufzuteilen, die Daten auszurichten, die Zeiten loszuwerden und sie über die beiden Datenrahmen hinweg zu vergleichen.

Verwandte Themen