域:Python和熊猫
我有一个时间序列数据框,其中包含最近10年每天的客户总数。
列为:
“我的总客户数”列中有异常值。
我想将超出均值的3个标准差之外的离群值重置为以下公式所定义的值。
高于3SD的异常值=平均值+ 3 S.D。
答案 0 :(得分:1)
您可以使用.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)