私はStart
とEnd
datatime
と各イベントのイベントを含むdataframe
を持っています。datetimeの違いに基づいてデータフレーム内のグループ行をマージする方法は?
import pandas as pd
import datetime
df = pd.DataFrame({ 'Value' : [1.,2.,3.],
'Start' : [datetime.datetime(2017,1,1,0,0,0),datetime.datetime(2017,1,1,0,1,0),datetime.datetime(2017,1,1,0,4,0)],
'End' : [datetime.datetime(2017,1,1,0,0,59),datetime.datetime(2017,1,1,0,5,0),datetime.datetime(2017,1,1,0,6,00)]},
index=[0,1,2])
df
Out[7]:
End Start Value
0 2017-01-01 00:00:59 2017-01-01 00:00:00 1.0
1 2017-01-01 00:05:00 2017-01-01 00:01:00 2.0
2 2017-01-01 00:07:00 2017-01-01 00:06:00 3.0
私は連続した行のEnd
とStart
との違いは、与えられたtimedelta
よりも小さいグループの連続した行にしたいと思います。例: ここで私は、しかし、5秒のはtimedeltaためIインデックス0,1
とグループ行したいと2分のはtimedeltaとその溶液は.shift()
を使用してシフトされたバージョンとの連続した行を比較することであろう0,1,2
列に生じるはずです2つ以上の行のグループをマージする必要がある場合、比較を複数回反復する必要があります。
私のdfが非常に大きいので、これはオプションではありません。
たぶん、そのちょうど私が、私はあなたが –
探しているものを出力見当がつかないあなたの期待を出す./_ \示しました。 – Wen
申し訳ありませんが、それは遅れています:(私は望ましい出力を追加しています – ErroriSalvo