Пример #1
0
    def Chauvent(self, values):  #DataFrame이 아닌, seriese value로 받아서 filtering
        mean = values.mean()  #평균
        delta = values.apply(lambda x: abs(x - mean)
                             )  #delta = abs(values - mean), 각각 행을 계산(lambda이용)
        N = len(values)  #변수 갯수
        sigma = math.sqrt((1 / N) * sum(delta**2))  #standard error of the mean

        if sigma != 0:
            di = delta.apply(lambda x: x / (sigma * math.sqrt(2)))
            retrv = di.apply(lambda x: math.erfc(x) * N >= 0.5
                             )  #math.erfc(x)*N < 0.5 ? false : true
        else:
            retrv = True

        return retrv
Пример #2
0
    def Chauvent_Angle(self,
                       values):  #DataFrame이 아닌, seriese value로 받아서 filtering
        mean_sin = math.sin((values / (180 / math.pi)).mean())  # sin 평균
        mean_cos = math.cos((values / (180 / math.pi)).mean())  # cos 평균
        mean = math.atan2(mean_cos, mean_sin)
        mean = mean * (180 / math.pi)

        delta = values.apply(lambda x: abs(x - mean))
        N = len(values)  #변수 갯수
        sigma = math.sqrt((1 / N) * sum(delta**2))  #standard error of the mean

        if sigma != 0:
            di = delta.apply(lambda x: x / (sigma * math.sqrt(2)))
            retrv = di.apply(lambda x: math.erfc(x) * N >= 0.5
                             )  #math.erfc(x)*N < 0.5 ? false : true
        else:
            #retrv = pd.Series([True])
            retrv = True

        return retrv