删除高于/低于标准偏差的值

Posted

技术标签:

【中文标题】删除高于/低于标准偏差的值【英文标题】:Remove values above/below standard deviation 【发布时间】:2020-05-05 11:35:22 【问题描述】:

我有一个由 18 列和 1500 万行组成的数据库,每列中都有异常值,我想删除高于和低于 2 个标准差的值。不过,我的代码似乎没有编辑数据库中的任何内容。

谢谢。

import pandas as pd
import random as r
import numpy as np


 df = pd.read_csv('D:\\Project\\database\\3-Last\\LastCombineHalf.csv')
df[df.apply(lambda x :(x-x.mean()).abs()<(2*x.std()) ).all(1)]
df.to_csv('D:\\Project\\database\\3-Last\\Removal.csv', index=False)

【问题讨论】:

【参考方案1】:

可能是因为您没有将结果分配回df

发件人:

df[df.apply(lambda x :(x-x.mean()).abs()<(2*x.std()) ).all(1)]

收件人:

df = df[df.apply(lambda x :(x-x.mean()).abs()<(2*x.std()) ).all(1)]

【讨论】:

以上是关于删除高于/低于标准偏差的值的主要内容,如果未能解决你的问题,请参考以下文章

标准偏差计算在 C# 中不起作用?

具有自定义标准偏差的 Excel 图表

您如何使用 scikit-learn 中的惯性计算差距统计的标准偏差?

统计中的Z-score是啥意思

回购价低于股价怎么办?

回购价低于股价怎么办?