1、MAD法(中位数去极值)
def fil_ex(se):
me = se.quantile(0.5) #找出所有因子的中位数
n_me = ((se-me).abs()).quantile(0.5)#得到每个因子与中位数的绝对偏差值
max_r = me + n*n_me #
min_r = me - n*n_me
return np.clip(se,min_r,max_r)
da = Series([69,96,2,3,5,6])
da1 = fil_ex(da, 6)
2、3
def fil_ex(se):
me = se.mean()
std = se.std()
max_r = mean + n*std
min_r = mean - n*std
retnrn np.clip(se,min_r,max_r)
3、百分位法(最好理解)
def fil_ex(se,min = 0.1,max = 0.9):
se = se.sort_values()
q = se.quantile([min,max])
return np.clip(se,q.iloc[0],q.iloc[1])
我用的第三种,调用的函数的意思自己查百度,
转载自https://wenku.baidu.com/view/192db00bee630b1c59eef8c75fbfc77da26997bc.html