使用分位数 returns 错误检测多列中的离群值

Outlier detection in multiple columns using quantile returns an error

我想在两列中保留值高于和低于四分位数的异常值。数据框本身有 10 列。下面是我的代码。但是最后一行代码returns一个KeyError: 0.99.

outliers_cols = df[['ColA', 'ColB']]

low = 0.01
high = 0.99
qtldf = outliers_cols.quantile([low, high])

outliers_df = df[(outliers_cols > qtldf[high]) | (outliers_cols < qtldf[low])]

感谢您的帮助。

您正在尝试对 qtldf 数据框进行不正确的索引。使用 loc 代替:

qtldf.loc[high]