久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術(shù)文章
文章詳情頁

python:刪除離群值操作(每一行為一類數(shù)據(jù))

瀏覽:4日期:2022-07-22 10:52:23

刪除有多行字符串的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(): # 按行讀取原文件# 這里的情況是每一行為一類數(shù)值,該行內(nèi)的數(shù)據(jù)相互比較找出是否有離群值# 若存在離群值,則刪除該行數(shù)據(jù)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): # 在正常值范圍內(nèi)時 i+1if item <= q3 + (1.5*iqr) and item >= q1 - (1.5*iqr): i = i + 1 if i == 10: # 這里是因為我的json文件中每行data有10個元素(如果有更好的方法,請教我一下,謝謝您!) HoldTime = datawith open(newfile, ’a’) as f: # 將非離群數(shù)據(jù)存入新文件json.dump(HoldTime, f) f.write(’n’)

補充知識:dataframe 離群值處理

離群值:遠(yuǎn)離數(shù)據(jù)主要部分的樣本(極大值或極小值)

處理方式:

刪除:直接刪除離群樣本

填充樣本:使用box-plot定義變量的數(shù)值上下界,以上界填充極大值,以下界填充最小值

# 查看房價的離群情況df[’average_price’].hist()plt.show()df[[’average_price’]].boxplot()plt.show()

python:刪除離群值操作(每一行為一類數(shù)據(jù))

# 根據(jù)箱線圖的上下限進(jìn)行異常值的填充def boxplot_fill(col): # 計算iqr:數(shù)據(jù)四分之三分位值與四分之一分位值的差 iqr = col.quantile(0.75)-col.quantile(0.25) # 根據(jù)iqr計算異常值判斷閾值 u_th = col.quantile(0.75) + 1.5*iqr # 上界 l_th = col.quantile(0.25) - 1.5*iqr # 下界 # 定義轉(zhuǎn)換函數(shù):如果數(shù)字大于上界則用上界值填充,小于下界則用下界值填充。 def box_trans(x): if x > u_th: return u_th elif x < l_th: return l_th else: return x return col.map(box_trans)# 填充效果查看boxplot_fill(df[’average_price’]).hist()# 進(jìn)行賦值df[’average_price’] = boxplot_fill(df[’average_price’])plt.show()

以上這篇python:刪除離群值操作(每一行為一類數(shù)據(jù))就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 宾阳县| 丹凤县| 瑞丽市| 彭水| 泰兴市| 洛阳市| 浦县| 桂阳县| 嘉鱼县| 明水县| 鞍山市| 松桃| 台州市| 安多县| 于都县| 南木林县| 盐源县| 丹江口市| 疏附县| 彭州市| 循化| 文昌市| 滦平县| 德安县| 耒阳市| 孟州市| 康定县| 通江县| 潜江市| 景德镇市| 梅河口市| 龙江县| 墨玉县| 化隆| 团风县| 同德县| 辰溪县| 东宁县| 岐山县| 阿鲁科尔沁旗| 县级市|