首页 > 解决方案 > 将时间序列数据帧中的异常值重置为 3 SD

问题描述

领域:Python & Pandas

我有一个时间序列数据框,其中包含过去 10 年每天的客户总数。

这些列是:

我的客户总数列中有异常值。

我想将平均值以上 3 个标准差之外的异常值重置为以下公式定义的值。

高于 3SD 的异常值 = 平均值 + 3 SD

标签: pythondataframestatistics

解决方案


您可以使用该.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)

clip_upper.


推荐阅读