1

タイムスタンプ付きのイベントを含む pandas DataFrame があります。各イベントには開始時刻と終了時刻があります。

start  end other_vars
  100  120  ...
  150  151  ...
  160  170  ...
  200  210  ...

パンダでイベント間の時間を計算するきれいな方法 (たとえば、前のイベントの終わりとこのイベントの開始の間のスパン) はありますか?

start  end between other_vars
  100  120      NA   ...
  150  151      30   ...
  160  170       9   ...
  200  210      30   ...
4

1 に答える 1

2

これを達成する最も簡単な方法は、シフトされた列を別の列から減算することだと思います。shift 関数はまさにそれを行います。デフォルトで 1 つのインデックスだけ配列をシフトします。

In [3]: df
Out[3]:
   start  end
0    100  120
1    150  151
2    160  170
3    200  210

In [4]: df.start - df.end.shift()
Out[4]:
0   NaN
1    30
2     9
3    30

In [5]: df['elapsed'] = df.start - df.end.shift()

In [6]: df
Out[6]:
   start  end  elapsed
0    100  120      NaN
1    150  151       30
2    160  170        9
3    200  210       30
于 2013-02-06T00:08:20.377 に答える