小白在之前文章中已经阐述了箱线图的原理,这里小白就把自己在工作中做的一个自动化异常值检测拿来分享一下~
原理请看这篇博文(https://blog.youkuaiyun.com/Jarry_cm/article/details/95473014)
小白根据箱线图的原理,分析工作中的情况,比如说酒店每天的浏览量异常值检测,那么就可以根据历史30天或者更多天的数据来检测,昨天的浏览量是否异常。
首先,为了实现自动化,这里将参数直接提炼出来,这样实现,以后的人直接在shell脚本中设置参数,不需要修改python脚本,就达到兼容的效果。
import pandas as pd
import sys
file_path = sys.argv[1]
file_name_t = sys.argv[2]
file_name_y = sys.argv[3]
k = float(sys.argv[4])
yesterday = sys.argv[5]
shell中设置参数:每次只调整这些参数即可
file_path="/home/hotel/chen_lib"
file_name_t="boxret1.csv"
file_name_y="boxret2.csv"
python_name="boxplot.py"
k=1.5
yesterday='${zdt.addDay(-1).format("yyyyMMdd")}'
读入数据,将昨天数据之前的数据读入,然后计算四分之一分位数等,计算出最大最小阈值,然后判断昨天的数据是否超过上下限。超过设置为1,不超过设置为0。将这个结果导出到csv中,shell脚本可以读