python - 将时间序列数据帧中的异常值重置为 3 SD
问题描述
领域:Python & Pandas
我有一个时间序列数据框,其中包含过去 10 年每天的客户总数。
这些列是:
- 日期
- 客户总数
我的客户总数列中有异常值。
我想将平均值以上 3 个标准差之外的异常值重置为以下公式定义的值。
高于 3SD 的异常值 = 平均值 + 3 SD
解决方案
您可以使用该.clip_upper()
方法将客户列中的值限制为均值+3*sd。
m = df['total customers'].mean()
sd = df['total customers'].std()
df['total customers'] = df['total_customers'].clip_upper(m + 3*sd)
推荐阅读
- javascript - jQuery UI 日期选择器 - 通过单击另一个按钮更改范围
- python - 将 numpy 向量拉伸到任意长度而不进行插值
- javascript - 在 JS 中隐藏或显示元素不起作用
- python - 使用 Scrapy 抓取单个链接
- javascript - 每次加载页面时仅自动单击一次
- asp.net-web-api - Web API 可从 MVC 代码访问,但从网站访问时出现 404 错误
- python - 如何在 Pygame 中更改图像的颜色?
- pycharm - Pycharm jupyter 按钮变灰
- java - 无法从复合键中检索准确的 ID
- python - 如何一次将 3 个键绑定到一个事件?