如何确定信号的“恢复时间”?

时间:2018-09-13 11:00:26

标签: python-3.x pandas dataframe

我有一些数据可以随时间测量值。有时,当某些“代码”更改时,此值会出现峰值,但会再次下降...此循环重复。

数据示例

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

我想弄清楚“更改代码”后此数据的“恢复时间”是多少。在此数据集中,有两个“峰值”。第一个发生在数据的最开始,另一个发生在代码从w更改为d时。对于所有数据集都是如此:尖峰在代码更改时开始。

从答案来看(示例结果)应该是:

第一次加薪

  • 秒杀开始:0
  • 穗结束:5
  • 持续时间:598-195 = 403ms

秒杀

  • 秒杀开始:4447
  • 秒杀末端:5036
  • 持续时间:5036-4447 = 589ms

在某些数据集中,峰值后该值降至0,但在其他数据集中(如示例),情况并非如此。我需要考虑两种情况。

对于在峰值之后该值确实降为零的情况,我可以遍历每行,检查“代码”是否已更改,记下该值并循环直到该值达到零,然后从那开始花费时间行,将其从上一时间减去presto:结果。但是,这些不可预测的“小尖峰”确实让我难过。

我正在使用Python3,并且数据已加载到Pandas Dataframe中。我想以某种方式将上述结果放入另一个数据框中,每个结果都在自己的行中。

有人有想法吗?我什至如何计算峰值的“结束”?

0 个答案:

没有答案