【发布时间】:2021-11-23 06:28:15
【问题描述】:
我每天大约每隔 1 分钟就有一次嘈杂的数据。
这是一个简单的版本:
如何识别以黄色标记的噪音较小且价值较低的时段的开始和结束索引值?
这是测试数据:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
arr = np.array([8,9,7,3,6,3,2,1,2,3,1,2,3,2,2,3,2,2,5,7,8,9,15,20,21])
plt.plot(arr)
plt.show()
【问题讨论】:
-
定义“噪音较小”。
-
我的意思是这个数字保持在较低的高点和低点范围内
-
是的,您需要在程序中指定“低于”的确切含义 - 低于什么?
-
这就是我正在寻找的答案。我如何定义这个区域。肉眼很明显。
-
这将取决于您的真实数据。要获得较低的值,您应该找到最小值并允许一些小的偏差。在这种情况下,1 是最小的,看起来您希望包含最大为 3 的值。假设绝对偏差对您的数据很重要,那么低可能意味着
arr[i]<=min+2。为了减少噪音,粗略的检查只是之前和/或之后的值没有太大变化,即math.isclose(arr[i],arr[i+1])。
标签: python pandas numpy matplotlib