小编这次要给大家分享的是python中如何删除离群值,文章内容丰富,感兴趣的小伙伴可以来了解一下,希望大家阅读完这篇文章之后能够有所收获。
创新互联专注为客户提供全方位的互联网综合服务,包含不限于成都网站制作、成都做网站、外贸营销网站建设、红旗网络推广、微信小程序定制开发、红旗网络营销、红旗企业策划、红旗品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们大的嘉奖;创新互联为所有大学生创业者提供红旗建站搭建服务,24小时服务热线:18980820575,官方网址:www.cdcxhl.com删除有多行字符串的json文件中的离群值
def processHold(eachsubject,directory,newfile): filename = 'CMUDataCol/Hold/subject{0}.json'.format(eachsubject) # 原文件 with open(filename, 'r') as f: for jsonstr in f.readlines(): # 按行读取原文件 # 这里的情况是每一行为一类数值,该行内的数据相互比较找出是否有离群值 # 若存在离群值,则删除该行数据 data = json.loads(jsonstr) #计算四分位点 a = numpy.array(data) q1 = numpy.percentile(a, 25) q3 = numpy.percentile(a, 75) iqr = q3 - q1 # 找出异常值 i = 0 for item in zip(data): # 在正常值范围内时 i+1 if item <= q3 + (1.5*iqr) and item >= q1 - (1.5*iqr): i = i + 1 if i == 10: # 这里是因为我的json文件中每行data有10个元素(如果有更好的方法,请教我一下,谢谢您!) HoldTime = data with open(newfile, 'a') as f: # 将非离群数据存入新文件 json.dump(HoldTime, f) f.write('\n')