2016-07-20 13 views
0

Ich bin neu bei Pandas. Ich habe eine Reihe von Excel-Daten in einem Datenrahmen wie folgt lauten:Schneiden eines Datenrahmens basierend auf der Zeitspanne

TimeReceived A B 
08:00:01.010 70 40 
08:00:01.050 80 50 
08:01:01.100 50 20 
08:01:01.150 40 30 

ich den Durchschnitt für die Spalten A & B basierend auf Zeitintervallen von 100 ms berechnet werden soll. Die Ausgabe in diesem Fall sei:

TimeReceived A B 
08:00:01.000 75 45 
08:00:01.100 45 25 

ich gesetzt habe die 'TimeReceived' als Date-Time-Index:

df = df.set_index (['TimeReceived']) 

I Zeilen basierend auf vordefinierten Zeitbereiche auswählen kann, aber ich kann nicht tun Berechnungen in Zeitintervallen wie oben gezeigt.

+0

so tut 'df.resample ('100ms') bedeuten() dropna()' Arbeit.? – EdChum

+0

Hat Timereceived konstante Intervalle? Wie nach 150 ist es sicher 200? – hashcode55

+0

Ja, es ist konstante Intervalle – user6357081

Antwort

0

Wenn Sie eine DatetimeIndex haben, können Sie resample verwenden, um Ihre Daten auf eine neue Frequenz hoch- oder herunterzuspielen. Dies wird einführen NaN Reihen, wo es Lücken gibt, aber Sie können diese mit dropna fallen.

df.resample('100ms').mean().dropna() 
Verwandte Themen