のは、私は、次のデータフレームがあるとしましょう:私が得る時系列データフレーム内のイベントの発生の間の時間を計算する方法
df['delta_time'] = (df['event']-df['event'].shift()).fillna(0)
コードを使用して
df
A B C D event
Timestamp
1991-04-21 09:09:00 9.0 13.0 NaN NaN 100.0
1991-04-21 17:08:00 7.0 NaN NaN NaN 119.0
1991-04-21 22:51:00 NaN NaN 123.0 NaN NaN
1991-04-22 07:35:00 10.0 13.0 NaN NaN 216.0
1991-04-22 13:40:00 2.0 NaN NaN NaN NaN
1991-04-22 16:56:00 7.0 NaN NaN NaN 211.0
を
Timestamp A B C D event delta_time
1991-04-21 09:09:00 9.0 13.0 NaN NaN 100.0 00:00:00
1991-04-21 17:08:00 7.0 NaN NaN NaN 119.0 07:59:00
1991-04-21 22:51:00 NaN NaN 123.0 NaN NaN 05:43:00
1991-04-22 07:35:00 10.0 13.0 NaN NaN 216.0 08:44:00
1991-04-22 13:40:00 2.0 NaN NaN NaN NaN 06:05:00
1991-04-22 16:56:00 7.0 NaN NaN NaN 211.0 03:16:00
1991-04-23 07:25:00 11.0 13.0 NaN NaN 257.0 14:29:00
しかし私が探しているものは
Timestamp
1991-04-21 09:09:00 9.0 13.0 NaN NaN 100.0 00:00:00
1991-04-21 17:08:00 7.0 NaN NaN NaN 119.0 07:59:00
1991-04-21 22:51:00 NaN NaN 123.0 NaN NaN NaN
1991-04-22 07:35:00 10.0 13.0 NaN NaN 216.0 13:42:00
1991-04-22 13:40:00 2.0 NaN NaN NaN NaN NaN
1991-04-22 16:56:00 7.0 NaN NaN NaN 211.0 09:21:00
1991-04-23 07:25:00 11.0 13.0 NaN NaN 257.0 14:29:00
イベントが発生するたびに経過した時間を計算し、イベントがNaNだった時間を省略したいと思います。では、そのコードを書く正しい方法は何でしょうか。
を取得するために
diff
を呼び出し、nullをしていない場所に基づいて興味のある行を隠します'] =(df [' event '] - df [' event ']。shift ())。fillna(0) 'は出力またはインテントと一致しません。これは数値のイベント列を減算するためです。 – EdChum