有效地移除校准辊并用NaN'

时间:2017-01-20 16:35:16

标签: python pandas matplotlib calibration data-handling

这是一张代表磁场数据的图片,在y=0轴附近,数据会按预期变化。 enter image description here < / p>

然而,很明显,各种数据都会转变为容易脱颖而出的振荡。这些大而一致的尖峰超过101点(对于所有尖峰都是一致的)称为校准辊。我通过统计程序将数据放入任何统计异常值中,并且不会删除这些非物理校准卷。

以下是从图片1放大的校准卷之一。 enter image description here

不幸的是,这些振荡的最大值和最小值并不一致,这意味着它们的变化大约为某个值。此外,我们可以看到这不是短数据集,因为我主要集中在大约5000万个数据点的点数。 除了手动绘制所有这些并通过每个校准卷以记录每个校准卷的开始和结束以手动取出它们之外,有没有办法通过快速通过数据的例程有效地运行整个数据集,发现这些校准卷的位置,并用NaN替换该数据?我正在使用的数据结构是pandas SeriesDataFrames

以下是我要清理的内容:

运行一个101点的窗口大小,从零开始,然后逐点滑动。对于窗口的每个幻灯片,我计算平均值,如果平均值低于某个值,既不是好的数据也不是好的和坏的数据混合都可以创建(只有校准卷可以产生),那么它用NaN替换该窗口中的值并继续。

我意识到可能需要一些好的数据,这不是理想的;但是,我想看看是否有人会有一个更好的过程或遇到类似的问题,并有一个有效的方法来通过它。

编辑:

我实际上意识到我实施的代码除了没有展现出卷的独特特性外,效率非常低。我现在运行的代码运行相对较快,因为它贯穿整个时间序列一次,它将值持有者与之前和之后的代码进行比较,创建一个7点模板。我所拥有的比较语句非常复杂,但它的设计速度与只有两步if语句一样快。用于摆脱滚动的独特特征是,在数据点中的唯一点差处,值在y轴上镜像,意味着,每2个点是正值,接下来的2个是前2个的负值。值,在下一组4个数据点之间有一个中间点。

如果我之前没有说过,数据是关于等离子体材料中的磁场变化,当然,它可以在正值和负值之间波动,但这对我的移除程序来说是一个小问题,但是声音很小从长远来看,绝对不会影响我的目标。

0 个答案:

没有答案