如何在Python中从x-y散点图中删除y-离群值?

问题描述 投票:0回答:1

我正在绘制一个数据框 df,其中包含散点图中的 x 和 y。显然,在许多情况下,对于每个 x 值,y 值可能是分散的。我想删除每个 x 的 y 异常值。这与使用 IQR 批量去除异常值不同。

有人可以帮忙吗?

我找不到任何现成的代码。有些代码可以批量删除异常值,而不是有选择地针对每个 x。

python dataframe outliers
1个回答
0
投票

DataFrame 列对

Group
x
,然后应用函数从 each 组中remove outliers

def remove_outliers(group, column='y'):
    Q1 = group[column].quantile(0.25)
    Q3 = group[column].quantile(0.75)
    IQR = Q3 - Q1
    lower_bound = Q1 - 1.5 * IQR
    upper_bound = Q3 + 1.5 * IQR
    return group[(group[column] >= lower_bound) & (group[column] <= upper_bound)]
df = df.groupby('x').apply(remove_outliers).reset_index(drop=True)
© www.soinside.com 2019 - 2024. All rights reserved.