I have 2 lists with data points in them.
x = ["bunch of data points"]
y = ["bunch of data points"]
import matplotlib.pyplot as plt
plt.plot(x, y, linewidth=2, linestyle="-", c="b")
It depends how you define the "noise" and how is it caused. Since you didn't provide much information about your case, I'll take your question as "how to make the curve smooth". Kalman filter can do this, but it's too complex, I'd prefer simple IIR filter
mu, sigma = 0, 500 x = np.arange(1,100,0.1) # x axis z = np.random.normal(mu, sigma, len(x)) # noise y = x ** 2 + z # data plt.plot(x, y, linewidth=2, linestyle="-", c="b") # it include some noise
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=2, linestyle="-", c="b") # smooth by filter
lfilter is a function from scipy.signal. I hope it will help you.
By the way, if you do want to use Kalman filter for smoothing, scipy also provides an example. Kalman filter should also work on this case, just not so necessary.