数据清除(标记)失效传感器

时间:2018-11-15 11:22:26

标签: python pandas

我有一个很大的风速时间序列(熊猫数据帧)(平均10分钟),其中包含错误数据(失效传感器)。如何自动标记它。我正在尝试移动平均线。 除移动平均线以外的其他一些方法非常受赞赏。我已在下面附上示例数据图像。

enter image description here

1 个答案:

答案 0 :(得分:1)

有几种方法可以解决此问题。我将首先介绍差异:

%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();

enter image description here

下一步是查找连续零的罢工期多久。

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您可以得出结论,那就是有问题。如果您想更进一步,可以看看this。它在R中,但是在Python中复制并不难。