Given a noisy signal:
import numpy as np
import matplotlib.pyplot as plt
np.random.seed(1)
x = np.linspace(0,2*np.pi,100)
y = np.sin(x) + np.random.random(100) * 0.2
plt.plot(x,y)
plt.show()
one can smooth it using a Savitzky–Golay filter using the scipy.signal.savgol_filter() method...