6

ミリ秒で表された別の列に、これらのデルタの累積合計として 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] がゼロに等しい)。

ご意見をお寄せいただきありがとうございます。さらに情報を提供できる場合はお知らせください。

4

1 に答える 1