异常值处理 - 盖帽 def cap1(x, quantile=[0.05, 0.95]): """盖帽法处理异常值 Args: x:pd.Series列,连续变量 quantile:指定盖帽法的上下分位数范围 """ # 生成分位数 Q05, Q95=x.quantile(quantile).values.tolist() # 替换异常值为指定的分位数 if Q05 > x.min(): x = x.copy() # why copy:为了不改变x的原始数据与分布 x.loc[x<Q05] = Q05 if Q95 < x.max()