我建议使用 numpy 的 diff 函数:
import numpy
a = [0.523,0.445,0.558,0.492,0.440,0.502,0.742,0.802,0.821,0.811,0.804,0.860]
numpy.diff(a)
这会给你:
array([-0.078, 0.113, -0.066, -0.052, 0.062, 0.24 , 0.06 , 0.019,
-0.01 , -0.007, 0.056])
如果数字为正,则向上跳跃,如果为负,则向下跳跃。
如果您只想找到存在尖峰的位置,向上或向下,请尝试以下操作:
abs(numpy.diff(a)) > 0.2
向上或向下调整 0.2 会分别降低或提高灵敏度。这将给出:
array([False, False, False, False, False, True, False, False, False,
False, False], dtype=bool)