python中,使用3 原則來刪除資料中的異常值

2021-10-04 03:45:12 字數 658 閱讀 9548

mba智庫對3σ原則的描述:

σ代表標準差,μ代表均值

樣本資料服從正態分佈的情況下

數值分布在(μ-σ,μ+σ)中的概率為0.6826

數值分布在(μ-2σ,μ+2σ)中的概率為0.9544

數值分布在(μ-3σ,μ+3σ)中的概率為0.9974

可以認為,y 的取值幾乎全部集中在(μ-3σ,μ+3σ)區間內,超出這個範圍的可能性僅佔不到0.3%。

在python中實現

#用numpy隨機生成100個服從正態分佈的隨機數

num=np.random.randn(

100)

#隨機插入兩個異常值進去,此時num.shape[0]==102

np.apend(num,[10

,20])

#設定法則的左右邊界

left=num.mean()-

3*num.std(

)right=num.mean()+

3*num.std(

)#獲取在範圍內的資料

new_num=num[

(left&(num]new_num.shape

#結果為100,已經剔除了剛開始插入的兩個異常值

python中使用traceback來追蹤異常

test1.py中,當分母為0的時候,呼叫系統退出 usr bin python import sys def division a 1,b 1 if b 0 print b eq 0 sys.exit 1 else return a b test2.py中,用try.except捕獲異常,然後tr...

在ROS中使用Python3

執行測試平台 小強ros機械人 當前ros是只支援python2.7的。python3的支援在ros的計畫中,詳細的可以看這裡。簡單說來就是要到2019年ros的n版本才能完全支援python3。首先要了解為什麼ros不能支援python3.對於純的python 同時支援python3和python...

python3使用importlib來重複載入模組

coding utf 8 from socketserver import threadingtcpserver,baserequesthandler import importlib import traceback import time import logging logging.basic...