2017-09-14 15 views
0

私は、タイムスタンプ付きデータのストリームを解析し、DataFrameに入れています。タイムスタンプは順序付けられ、増分されます。彼らは起こっている出来事を表しています。日時が属している日時/時間ブロックをチェックする方法を教えてください。

任意のウィンドウサイズxに対してpandas.DataFrame.resampleを使用してデータをresampleに送信します。また、到着した最後のイベントが現在のウィンドウに属していないのに、サイズxの次のウィンドウに移動したかどうかを確認するフラグ/チェックが必要です。 event_b.timeevent_b.timeと同じ時間帯に属していないことを確認する方法

    Timespans 
15:00   16:00   17:00   18:00 
|-------A-------|-------B-------|-------C-------| 
     event_a^ ^event_b 

event_a.timepandas.Timestampオブジェクト

答えて

0

である私はpd.Periodクラスを使用して考えるとちょうど意図したとおりに動作します

pd.Period(event_a.time, freq=x) == pd.Period(event_b.time, freq=x) 

を行います。 pd.Periodが少ない1Hよりアカウントの周波数に取ることができない。

残念ながら、私は期間が17:12


アップデートで16:12と端から開始したい場合にはオフセットを受け入れることpd.Periodために、とにかく表示されません。

pd.Period(pd.to_datetime('20170101 10:32'), '30min') 
Out[12]: Period('2017-01-01 10:32', '30T') # 10:32 instead of 11:00 

を実行しようとすると、私はそれについてa ticket to pandas github repoを提出し、何が出てくる場合は更新しようとします。その間、私は、pandas.Timestamp.floorpandas.Timestamp.ceil

pd.to_datetime('20170101 10:32:30').floor('30min') 
Out[1]: Timestamp('2017-01-01 10:30:00') 
pd.to_datetime('20170101 10:32:30').ceil('30min') 
Out[2]: Timestamp('2017-01-01 11:00:00') 
を使って丸めを行う方法を見つけました
関連する問題