时间序列的简单 Python 中值滤波器
Simple Python Median Filter for time series
我在日志文件中有一个时间序列,格式如下(时间戳,值):
1433787443, -60
1433787450, -65
1433787470, -57
1433787483, -70
是否有任何可用的 python code/library 将日志文件和 window 大小作为输入,对时间序列应用中值过滤器以去除噪声和异常值,以及将过滤后的信号输出到新文件 ?
使用您喜欢的任何方法加载数据。我看到您的文件可以被视为 csv 格式,因此您可以使用 numpy.genfromtxt('file.csv', delimiter=',')
函数。
使用scipy函数进行中值滤波:scipy.signal.medfilt(data, window_len)
。请记住 window 长度必须是奇数。
将结果保存到文件中。例如,您可以使用 numpy.savetxt('out.csv', data, delimiter=',')
函数来做到这一点。
我在日志文件中有一个时间序列,格式如下(时间戳,值):
1433787443, -60
1433787450, -65
1433787470, -57
1433787483, -70
是否有任何可用的 python code/library 将日志文件和 window 大小作为输入,对时间序列应用中值过滤器以去除噪声和异常值,以及将过滤后的信号输出到新文件 ?
使用您喜欢的任何方法加载数据。我看到您的文件可以被视为 csv 格式,因此您可以使用
numpy.genfromtxt('file.csv', delimiter=',')
函数。使用scipy函数进行中值滤波:
scipy.signal.medfilt(data, window_len)
。请记住 window 长度必须是奇数。将结果保存到文件中。例如,您可以使用
numpy.savetxt('out.csv', data, delimiter=',')
函数来做到这一点。