python删除异常值,过滤并取平均值

Posted

技术标签:

【中文标题】python删除异常值,过滤并取平均值【英文标题】:python remove outliers, filter and do the mean 【发布时间】:2019-03-10 23:52:57 【问题描述】:

我尝试用冒号过滤器去除数据集的异常值并取平均值。 我分别成功,但我都失败了。

df.groupby(['column_1', 'column_2',  column_3', 'column_4']).quantile([0.05, 0.95])


df.groupby(['column_1', 'column_2',  column_3', 'column_4']).mean()

这段代码给了我 2 个数据集,但我在做平均值之前先寻找删除异常值。是否可以使用 groupby 或者我需要手动操作? 如果可以的话,你知道我可以用什么方法?

如果我的英语不好,谢谢和抱歉

【问题讨论】:

欢迎来到***。您的代码示例在第一行中缺少 '。 【参考方案1】:

您需要将第一个命令的结果分配回一个新的数据帧,然后您可以取其平均值:

df_temp = df.groupby(['column_1', 'column_2',  'column_3', 'column_4']).quantile([0.05, 0.95])


df_temp.groupby(['column_1', 'column_2',  'column_3', 'column_4']).mean()

【讨论】:

但如果我是对的,这个解决方案不会在平均值之前删除数据集的异常值 这段代码只用 0.05 和 0.95 这两个值做一个平均值。 这是因为你用错了分位数...pandas.pydata.org/pandas-docs/stable/generated/…

以上是关于python删除异常值,过滤并取平均值的主要内容,如果未能解决你的问题,请参考以下文章

Python从数据中删除异常值

python大数据之异常值处理

过滤度量(或删除异常值)

使用 shapefile 屏蔽 NetCDF 并计算 shapefile 中所有多边形的平均值和异常值

有啥方法可以减少 Radius 异常值删除 [pcl 异常值删除] 的执行时间?

剔除“异常值”的一般原则是什么?