去除与Pandas中相邻点偏离太多的点
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了去除与Pandas中相邻点偏离太多的点相关的知识,希望对你有一定的参考价值。
所以我在Pandas做一些时间序列分析,并且有一种特殊的异常值模式,我想删除它。波纹管图基于数据框,第一列为日期,第二列为数据
你可以看到那些散布着类似值的点,看起来像线条可能是仪器怪癖,应该被删除。香港专业教育学院尝试使用rolling_mean,中位数和删除基于标准偏差无济于事。对于密度的概念,它从1984年到现在的每日测量。有任何想法吗?
auge = pd.read_csv('GaugeData.csv', parse_dates=[0], header=None)
gauge.columns = ['Date', 'Gauge']
gauge = gauge.set_index(['Date'])
gauge['1990':'1995'].plot(style='*')
并且应用滚动中位数的结果
gauge = pd.rolling_mean(gauge, 5, center=True)#gauge.diff()
gauge['1990':'1995'].plot(style='*')
答案
您可以要求每个数据点在特定距离“D”内至少具有“N”“附近”数据点。
- N可以是2或更多。
- 附近的元素规[i]可以是一对像:gauge [i-1]和gauge [i + 1],但由于一些只有一边有邻居,你可以要求至少两个带有索引距离的元素(日期) )小于2.因此,假设{gauge [i-2],gauge [i-1] gauge [i + 1],gauge [i + 2]}中的至少2个应满足:Distance(gauge [i] ,gauge [ix])<D
- D - 您可以根据您对这些真实数据点的接近程度来决定这一点。
它不是完美的,但它应该从数据集中获得大部分噪声。
以上是关于去除与Pandas中相邻点偏离太多的点的主要内容,如果未能解决你的问题,请参考以下文章
pandas GroupBy上的方法apply:一般性的“拆分-应用-合并”