我有一个大的时间序列(熊猫数据)的风速(平均10分钟),其中包含错误数据(死传感器)。它怎么能被自动标记。我试着用移动平均线。一些其他的方法,然后移动平均是非常赞赏的。我已经附上了下面的样本数据图像。

发布于 2018-11-15 11:45:32
处理这个问题有几种方法。我首先要谈的是分歧:
%matplotlib inline
import pandas as pd
import numpy as np
np.random.seed(0)
n = 200
y = np.cumsum(np.random.randn(n))
y[100:120] = 2
y[150:160] = 0
ts = pd.Series(y)
ts.diff().plot();

下一步是找出连续零的攻击时间。
def getZeroStrikeLen(x):
""" Accept a boolean array only
"""
res = np.diff(np.where(np.concatenate(([x[0]],
x[:-1] != x[1:],
[True])))[0])[::2]
return res
vec = ts.diff().values == 0
out = getZeroStrikeLen(vec)现在,如果len(out)>0,您可以得出结论,存在一个问题。如果您想更进一步,可以查看这。它在R中,但在Python中复制并不难。
https://stackoverflow.com/questions/53318379
复制相似问题