我想删除箱线图中每个 ID 的所有异常值。我尝试了以下代码:
'''
AB_Q1 = combine['AB_MEAN'].quantile(0.25)
AB_Q3 = combine['AB_MEAN'].quantile(0.75)
AB_IQR = AB_Q3 - AB_Q1
AB_filter = (combine['AB_MEAN'] >= (AB_Q1 - 1.5 * AB_IQR)) & (combine['AB_MEAN'] <= (AB_Q3 + 1.5 * AB_IQR))
AB_remove = combine.loc[AB_filter]
combine.drop(combine.loc[AB_filter].index, inplace=True)
AB = sns.boxplot(x=combine['FEEDER'], y=combine['AB_MEAN'], hue='FEEDER', data = combine)
'''
这适用于删除特定数据列的所有异常值,但删除了太多需要的信息。
如第一张图片所示,有 6 个唯一标识符,每个标识符有 4500 多行数据。

