去除奇异值的方式

对于这个代码,对于异常值不是很明显的是无法处理的,
对于相对应的波峰波谷(如果很小的差距是不可以检测出来的)
利用的原理是3sigam

# -*- coding:utf-8 -*-
# sed 1d excel_file.xlsx > new_excel_file.xlsx
# 上面这条命令的方式是为了删除带有第一行的文件的标题头
import numpy as np
data = np.loadtxt("result_fusion1.csv", delimiter=",", usecols=(2))
print(data)
orders = data
order2 = []
# print(orders)
i = 0
ma = 20
while i+20 < 400:
    order1 = orders[i:i+20]
    mean = (np.mean(order1))
    # print(mean)
    std = (np.std(order1))
    # print(std)
    for e in order1:
        if (e-mean) <= -2*std or (e-mean) >= 2*std:
            order2.append(e)
    # print("hh")
    i = i + ma
    # j = j + ma
    order1 = []
print(len(order2))

猜你喜欢

转载自blog.csdn.net/lc574260570/article/details/82802806