У меня есть некоторые данные, измеряющие значение во времени.Иногда в этом значении будет всплеск, когда какой-то «код» изменится, но он снова выйдет из строя ... этот цикл повторяется.
пример данных :
index,code,value,time
0,w,114,195
1,w,112,295
2,w,57,340
3,w,28,412
4,w,19,505
5,w,11,598
6,w,33,721
7,w,90,879
8,w,17,907
9,w,59,1050
10,w,54,1146
11,w,30,1223
12,w,19,1312
13,w,41,1436
14,w,34,1530
15,w,34,1631
16,w,18,1716
17,w,75,1874
18,w,34,1933
19,w,51,2052
20,w,16,2118
21,w,40,2243
22,w,32,2336
23,w,55,2459
24,w,16,2522
25,w,7,2614
26,w,29,2737
27,w,23,2831
28,w,26,2936
29,w,41,3052
30,w,30,3143
31,w,21,3235
32,w,14,3329
33,w,54,3470
34,w,28,3545
35,w,81,3698
36,w,43,3762
37,w,40,3859
38,w,27,3948
39,w,51,4073
40,w,12,4135
41,w,3,4227
42,d,122,4447
43,d,111,4537
44,d,104,4631
45,d,64,4692
46,d,31,4760
47,d,18,4848
48,d,12,4943
49,d,5,5036
50,d,71,5203
Надеюсь, это изображение поможет:
![enter image description here](https://i.stack.imgur.com/ZS9TZ.png)
Я хотел бы выяснить, для чего используется «время восстановления» после «изменения кода»эти данные.В этом наборе данных есть два "шипа".1-е происходит в самом начале данных, а второе - при изменении кода с w
на d
.Это верно для всех наборов данных: всплеск начинается, когда код изменяется.
Ответ (пример результатов) при взгляде на него должен быть:
Первый всплеск
- начало выброса: 0
- конец выброса: 5
- длительность: 598 - 195 = 403 мс
Второй пик
- начало шипа: 4447
- конец шипа: 5036
- продолжительность: 5036 - 4447 = 589 мс
В некоторых наборах данныхпосле спайка значение падает до 0, но в других (например, в примере) это не так.Мне нужно рассмотреть оба сценария.
Для случаев, когда значение падает до нуля после всплеска, я мог бы перебирать каждую строку, проверять, изменился ли «код», записывать значение и цикл дозначение достигает нуля, возьмите время из этой строки, вычтите его из предыдущего времени и сделайте предварительный результат.Тем не менее, эти непредсказуемые "мини-всплески" действительно поставили меня в тупик.
Я использую Python3, и данные загружаются в Pandas Dataframe.Я хотел бы как-то перенести результаты вышеупомянутого в другой фрейм данных, каждый из которых находится в отдельной строке.
У кого-нибудь есть идея?Как мне даже рассчитать «конец» шипа?