我有以下数据集,一个 Pandas 数据框:
Score min max Date
Loc
0 2.757 0.000 2.757 2020-07-04 11:00:00
3 2.723 2.723 0.000 2020-07-04 14:00:00
8 2.724 2.724 0.000 2020-07-04 19:00:00
11 2.752 0.000 2.752 2020-07-04 22:00:00
13 2.742 2.742 0.000 2020-07-05 00:00:00
15 2.781 0.000 2.781 2020-07-05 02:00:00
18 2.758 2.758 0.000 2020-07-05 05:00:00
20 2.865 0.000 2.865 2020-07-05 07:00:00
24 2.832 0.000 2.832 2020-07-05 11:00:00
25 2.779 2.779 0.000 2020-07-05 12:00:00
29 2.775 2.775 0.000 2020-07-05 16:00:00
34 2.954 0.000 2.954 2020-07-05 21:00:00
37 2.886 2.886 0.000 2020-07-06 00:00:00
48 3.101 0.000 3.101 2020-07-06 11:00:00
53 3.012 3.012 0.000 2020-07-06 16:00:00
55 3.068 0.000 3.068 2020-07-06 18:00:00
61 2.970 2.970 0.000 2020-07-07 00:00:00
64 3.058 0.000 3.058 2020-07-07 03:00:00
在哪里:
Score是一个非常基本的趋势,min并且max是 的局部最小值和最大值Score。
Loc是该行 x 轴上的值,并且date是图表上该行的值。
我正在尝试从我的代码中检测红色框中的数据,以便我可以在其他数据集上检测到它。基本上我正在寻找的是一种从我的代码中设置该数据的定义的方法,以便可以从其他数据中检测到它。
到目前为止,我只设法在图表上标记局部最大值和最小值(黄色和红色点),我也知道如何用我自己的话来定义该模式,我只需要从代码中做到这一点:
定义最小值/最大值点何时距离先前的最小值/最大值点很远(因此它具有更高的值)
之后,找到局部最小值和最大值的点何时真正彼此接近并且它们的值彼此之间的差异不是很大。简而言之,当一个强劲的增长之后是一个分数不会上升或下降太多的范围时
我希望这个问题足够清楚,如果需要我可以提供更多细节。我不知道 Numpy 或任何其他库是否可行。
长风秋雁
相关分类