python - Python - 用组中的最大值替换异常值
问题描述
你能帮忙解决这个编码部分吗?
我需要通过分组来替换异常值,在 Python 的这个数据框中:
df = pd.DataFrame(['A', 'A', 'A', 'A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B'], columns = ['Key'])
df['Value'] = [22, 10, -100, 34, 780, 34, 29, 89, 53, 85, 77, 2, 90, 1, 298, 65]
我需要首先按 Key 列分组,然后使用类似于以下的代码检测异常值:
def is_outlier(s):
lower_limit = s.mean() - (s.std() * 4.7)
upper_limit = s.mean() + (s.std() * 4.7)
return ~s.between(lower_limit, upper_limit)
识别出记录后,我需要用第二个最大值(或中位数 * 2?)替换高异常值,用次低值替换低异常值。
与示例中相同的组中可能有多个异常值。
感谢您的帮助!
解决方案
推荐阅读
- python - Python PyQt5 如何使用 QWidget 显示完整的 QMenuBar
- node.js - 使用 Firebase Cloud Functions 时 Nodemailer 查询 A EREFUSED localhost
- amazon-web-services - Databricks 工作人员和 Elasticsearch 节点是否需要位于 AWS 的同一 VPC 中?
- python - “SyntaxError:无法构建词法分析器”是什么意思?
- integration-testing - 夸库斯。在集成测试中使用 spy 进行测试
- javascript - 如何使用 javaScript 和 jQuery 从 URL 中保存 json 对象
- python - 抑制 keras 消息:(常量):/job/localhost/
- python - “没有找到未找到参数的‘关于’的反向。尝试了 1 种模式:['$about$'] 请求方法:”
- javascript - 在 Discord.js 中接收 TypeError(不是角色/雪花)
- python - 熊猫应用具有多种条件的功能?