ID、タイムスタンプ、ステータスの顧客レコードがあります。
ID, TS, STATUS
1 10 GOOD
1 20 GOOD
1 25 BAD
1 30 BAD
1 50 BAD
1 600 GOOD
2 40 GOOD
.. ...
私は、顧客ごとに連続したBADステータス(上記の順序が正しいと想像してみてください)に費やされた時間を計算しようとしています。したがって、顧客ID = 1の場合、合計575秒がBADステータスで費やされました。
パンダでこれを行う方法は何ですか?TSで.diff()を計算すると、違いが生じますが、1)顧客に2)その顧客の特定のステータス「ブロック」をどのように結び付けることができますか?
サンプルデータ:
df = pandas.DataFrame({'ID':[1,1,1,1,1,1,2],
'TS':[10,20,25,30,50,600,40],
'Status':['G','G','B','B','B','G','G']
},
columns=['ID','TS','Status'])
ありがとう、