ミリ秒で表された別の列に、これらのデルタの累積合計として timedeltas を持つ pandas DataFrame があります。以下に例を示します。
Transaction_ID Time TimeDelta CumSum[ms]
1 00:00:04.500 00:00:00.000 000
2 00:00:04.600 00:00:00.100 100
3 00:00:04.762 00:00:00.162 262
4 00:00:05.543 00:00:00.781 1043
5 00:00:09.567 00:00:04.024 5067
6 00:00:10.654 00:00:01.087 6154
7 00:00:14.300 00:00:03.646 9800
8 00:00:14.532 00:00:00.232 10032
9 00:00:16.500 00:00:01.968 12000
10 00:00:17.543 00:00:01.043 13043
CumSum[ms] の最大値を指定した後、累積合計が 0 から再開されるようにしたいと考えています。たとえば、上記の例で最大値が 3000 の場合、結果は次のようになります。
Transaction_ID Time TimeDelta CumSum[ms]
1 00:00:04.500 00:00:00.000 000
2 00:00:04.600 00:00:00.100 100
3 00:00:04.762 00:00:00.162 262
4 00:00:05.543 00:00:00.781 1043
5 00:00:09.567 00:00:04.024 0
6 00:00:10.654 00:00:01.087 1087
7 00:00:14.300 00:00:03.646 0
8 00:00:14.532 00:00:00.232 232
9 00:00:16.500 00:00:01.968 2200
10 00:00:17.543 00:00:01.043 0
モジュロ演算子を使用して調査しましたが、結果の累積値が指定された制限と等しい場合にのみゼロにリセットすることに成功しました (つまり、500 % 500 の cumsum[ms] がゼロに等しい)。
ご意見をお寄せいただきありがとうございます。さらに情報を提供できる場合はお知らせください。