如何确定和删除python中boxplot找到的异常值?

问题描述 投票:-2回答:1

我想删除每个列的数据框中boxplot找到的异常值。我知道boxplot通过IQR规则查找异常值并将其显示在图表上。我知道如何使用seaborn绘制箱线图,但我不确定如何确定这些异常值实际引用哪些行以及如何删除它们?有功能/方法吗?

python matplotlib statistics boxplot
1个回答
1
投票

根据IQR异常值的基本定义,小于Q1-1.5 * IQR的值和大于Q3 + 1.5 * IQR的值被视为异常值。所以,

Q1 =  df['col_name'].quantile(0.25)
Q3 = df['col_name'].quantile(0.75)
IQR = Q3 - Q1

现在,异常值是,

df[(df['col_name'] < Q1-1.5*IQR ) | (df['col_name'] > Q3+1.5*IQR)]['col_name']
© www.soinside.com 2019 - 2024. All rights reserved.