python - 过滤列中的值时引用特定的 df 列
问题描述
我正在从我的数据集中删除异常值,并想对有效方法进行一些思考。
我目前正在使用 IQR 过滤掉数据中的任何异常值,如下所示:
Q1 = df.grades.quantile(0.25)
Q3 = df.grades.quantile(0.75)
IQR = Q3 - Q1
我的df中的成绩列包含我要删除异常值的值。
我以前使用过这样做的代码,但我如何编辑下面的代码,只考虑成绩列?(df.grades) 而不仅仅是 df
df = df[~((df < (Q1 - 1.5 * IQR)) |(df > (Q3 + 1.5 * IQR))).any(axis=1)]
谢谢!
解决方案
我认为您需要删除any
和测试列grades
,例如:
df = df[~((df.grades < (Q1 - 1.5 * IQR)) | (df.grades > (Q3 + 1.5 * IQR)))]
推荐阅读
- excel - SumIf 使用动态列
- html - 将鼠标悬停在其他 div 上时移动 div
- javascript - JSON Parse 以获取数组中的对象
- php - PHP如何检测段落是否包含多行?
- python - 创建一个基于文件名编辑 jsonl 文件的谷歌云函数
- javascript - Javascript 在 Firefox 中扮演多头角色
- ruby-on-rails - rails 一个由两个控制器处理的搜索字段
- python - 使用 Python 使用多个正则表达式进行列表理解
- java - 当 JAVA_HOME 的确切路径在同一个地方工作时,为什么 JAVA_HOME 在 Path 中失败?
- reactjs - 更改字体系列 Material-UI