首页 > 解决方案 > python中是否有一个函数可以让我识别这个紫色圆圈的位置?

问题描述

我正在寻找这个紫色圆圈的位置以及不同数据集的类似情况,其中在传感器开始收集数据之前存在(主要)水平滞后。

有任何想法吗?

在此处输入图像描述

标签: pythonnumpymatplotlibscipy

解决方案


numpy.diff 为您提供数组中每个连续项目之间的差异。它可能非常有用,但您可能需要添加一些平滑以防止噪声产生误报。这是一个易于使用的平滑函数:

def moving_average(x, w):
    return np.convolve(x, np.ones(w), 'valid') / w

(从这里说话)

我建议您绘制 np.diff(data) 并查看它的外观。在该图上找到紫色点会容易得多,如果您执行两次 np.diff 甚至可能更容易找到它。

对于这种情况,我会这样做:

purple_index = np.argmax(np.diff(data) < -1)

推荐阅读