基于3-sigma过滤outlier

data = pd.read_excel(target_path + func_size + "_profile.xlsx",engine='openpyxl')[metric]
if len(data) > 0:
   m, s = data.mean(), data.std()
   lower, upper = m - 3 * s, m + 3 * s
   condition = (data >= lower) & (data<=upper)
   avg = data[condition].mean() #(lambda x:  or x <= upper).values.mean()
else:
   avg = None

你可能感兴趣的:(python)