2016-04-12 6 views
0

Ich habe einen Datenblock, der von einer Timestamp-Spalte indiziert wird.Filtern von Datenrahmen basierend auf der verstrichenen Zeit

2011-5-5 12:11    (data...) 
2011-5-5 12:12    (data...) 
2011-5-5 12:13    (data...) 
2011-5-5 12:14    (data...) 
2011-5-5 12:15    (data...) 
2011-5-5 12:26    (data...) 
2011-5-5 12:27    (data...) 
2011-5-5 12:28    (data...) 
2011-5-5 12:36    (data...) 
2011-5-5 12:37    (data...) 

Ich möchte alle Zeilen filtern, die die Zeit von der vorherigen Reihe verstrichen mehr als 1 Minute ist

Das Ergebnis wäre:

2011-5-5 12:11    (data...) 
2011-5-5 12:12    (data...) 
2011-5-5 12:13    (data...) 
2011-5-5 12:14    (data...) 
2011-5-5 12:15    (data...) 
2011-5-5 12:26    (data...) --- FILTERED (12:26 minus 12:15) = 11 minutes 
2011-5-5 12:27    (data...) 
2011-5-5 12:28    (data...) 
2011-5-5 12:36    (data...) --- FILTERED (12:36 minus 12:28) = 8 minutes 
2011-5-5 12:37    (data...) 

ps: Ich weiß, dass jedes Mal, wenn ich Führen Sie den Filterprozess, werden mehr Zeilen

Antwort

5

versuchen diese gefiltert werden:

In [36]: df[df.ts - df.ts.shift(1) > pd.Timedelta('1min')] 
Out[36]: 
        ts 
5 2011-05-05 12:26:00 
8 2011-05-05 12:36:00