时间序列的简单 Python 中值滤波器

Simple Python Median Filter for time series

我在日志文件中有一个时间序列,格式如下(时间戳,值):

1433787443, -60 1433787450, -65 1433787470, -57 1433787483, -70

是否有任何可用的 python code/library 将日志文件和 window 大小作为输入,对时间序列应用中值过滤器以去除噪声和异常值,以及将过滤后的信号输出到新文件 ?

  1. 使用您喜欢的任何方法加载数据。我看到您的文件可以被视为 csv 格式,因此您可以使用 numpy.genfromtxt('file.csv', delimiter=',') 函数。

  2. 使用scipy函数进行中值滤波:scipy.signal.medfilt(data, window_len)。请记住 window 长度必须是奇数。

  3. 将结果保存到文件中。例如,您可以使用 numpy.savetxt('out.csv', data, delimiter=',') 函数来做到这一点。