I have a time series dataframe df as below:
id timestamp data Date sig events1 Start Peak gradient
timestamp
2020-01-15 06:12:49.213 40250 2020-01-15 06:12:49.213 20.0 2020-01-15 -1.0 0.0 NaN 1.0 0.000148
2020-01-15 06:12:49.313 40251 2020-01-15 06:12:49.313 19.5 2020-01-15 1.0 1.0 0.0 0.0 0.000294
2020-01-15 08:05:10.083 40256 2020-01-15 08:05:10.083 20.0 2020-01-15 1.0 0.0 1.0 0.0 0.000339
2020-01-15 08:05:10.183 40257 2020-01-15 08:05:10.183 20.5 2020-01-15 1.0 0.0 0.0 0.0 0.000334
2020-01-15 09:01:50.993 40310 2020-01-15 09:01:50.993 21.0 2020-01-15 1.0 0.0 0.0 0.0 0.000000
2020-01-15 09:01:51.093 40311 2020-01-15 09:01:51.093 21.5 2020-01-15 1.0 0.0 0.0 0.0 -0.008618
I would like to find, for every Start==1 row, until the next Start==1 row, the duration (in seconds) that it takes from its current data to reach data>=40 if data ever happens to reach 40. If data never reached 40, then output 0. What is a good way to do it?
