【问题标题】:Simple Python Median Filter for time series用于时间序列的简单 Python 中值过滤器
【发布时间】:2015-08-23 08:32:47
【问题描述】:
我在日志文件中有一个时间序列,格式如下(时间戳,值):
1433787443, -60
1433787450, -65
1433787470, -57
1433787483, -70
是否有任何可用的 python 代码/库将日志文件和窗口大小作为输入,对时间序列应用中值滤波器以去除噪声和异常值,并将滤波后的信号输出到新文件?
【问题讨论】:
标签:
python
filtering
time-series
signal-processing
noise-reduction
【解决方案1】:
使用您喜欢的任何方法加载数据。我看到您的文件可以被视为 csv 格式,因此您可以使用numpy.genfromtxt('file.csv', delimiter=',') 函数。
使用 scipy 函数进行中值过滤:scipy.signal.medfilt(data, window_len)。请记住,窗口长度必须是奇数。
将结果保存到文件中。例如,您可以使用numpy.savetxt('out.csv', data, delimiter=',') 函数来实现。