Используя лучший ответ из этого поста:
Снижение шума в данных
Мне не удается повторно использовать код для удаления шума из моего файла data-> csv, который можно найти здесь:
https://drive.google.com/open?id=1qVOKjDTAIEdB4thiTgv7BmSmfIoDyZ0J
Мой код:
import pandas as pd
import matplotlib.pyplot as plt
from scipy.signal import lfilter
data = pd.read_csv("Gain_Loss_test.csv")
#plot the original data
x = np.arange(1, 300, 1) # x axis
y = data
plt.plot(x, y, linewidth=1, linestyle="-", c="b")
#apply the filter and plot the denoised data
n = 15 # the larger n is, the smoother curve will be
b = [1.0 / n] * n
a = 1
yy = lfilter(b,a,y)
plt.plot(x, yy, linewidth=1, linestyle="-", c="b")
Обе диаграммы выглядят одинаково, меняется только масштаб по отношению к n. Я не хочу масштабировать это, я хочу сгладить это. В оригинальном сообщении они также используют n = 15, но данные с шумом не масштабируются. Я пытался изменить, только изменения масштаба, без сглаживания.
Перед фильтром:
После фильтра:
Редактировать: После применения исправления, предложенного в ответе, все плавно, без масштабирования!: