python - 使用分位数在多列中检测异常值会返回错误
问题描述
我想将异常值保留在两列中,其值高于和低于四分位数。数据框本身有 10 列。下面是我的代码。但代码的最后一行返回一个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]
推荐阅读
- android - Cordova 插件购买。批准的事件不会触发
- azure-devops - 在 Azure 管道上构建之前选择版本
- jquery - 创建整数数组并让函数检查每个值
- azure - Kubernetes 部署后外部 IP 无响应
- verilog - 如何在 Chisel 生成的模块中注入 Verilog 代码?
- excel - Application.Run 返回错误 438,不调用宏
- excel - 为什么 MS Excel 在打开超链接时会忽略此 URL 参数?
- android-studio - Android Studio 和 Gradle KTS 构建文件
- json - 为什么 Windows Server 2016 中的添加内容将文本写入单行而不是像我的 Windows 10 PC 那样的多行?
- javascript - 虽然循环阻止承诺解决