python - 检测df中的异常值
问题描述
我有几列和数百行的数字数据集,看起来类似于:
a | b | c | d
1 | 3 | .3 | 26
.02 | 32 | 5 | 2.6
我正在尝试使用 检测异常值std
,我发现了以下代码:
df.a[((df.a - df.a.mean()) / df.a.std()).abs() > 2]
哪个是我想要的单列,我希望能够df
在一个循环中完成它?每列都有不同的mean
和std
。这可能很简单,但我对这一切都很陌生。如果可以将异常值显示df
为值和其他单元格(无异常值)Nan
或0
?
提前谢谢了。
解决方案
试试下面的代码:
for col in df.columns:
df[col] = df[col][((df[col] - df[col].mean()) / df.[col].std()).abs() > 2]
推荐阅读
- validation - 使用 bootstrap-datepicker-plus 时验证 Django 模型表单中的 end_date 是否大于 start_date
- shell - 检查文件是否为空
- github - GitHub 个人访问令牌 私有 repo 范围
- android - 将颜色作为主题属性传递给自定义可声明样式
- linux - gpio-keys 不能与 I/O 扩展器驱动程序 gpio-pca953x (TCA6416A) 结合使用
- youtube-api - 通过 API 回复 youtube 评论的范围不足
- python - 根据索引值删除数组中的公共元素
- android - 我可以在没有最低 SDK 检查的情况下使用运行时权限吗?
- python - 如何将火车拆分功能合并到管道中
- javascript - React Native - 为 Modal 使用 Props