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删除异常值,过滤并取平均值的主要内容,如果未能解决你的问题,请参考以下文章
使用 shapefile 屏蔽 NetCDF 并计算 shapefile 中所有多边形的平均值和异常值