【发布时间】:2019-11-09 08:49:29
【问题描述】:
我有一堆数据点 (x,y),我想对其进行插值和平滑处理。
目前,我正在使用 scipy :
from scipy.interpolate import interp1d
from scipy.signal import savgol_filter
spl = interp1d(Cloud[:,1], Cloud[:,0]) # interpolation
x = np.linspace(Cloud[:,1].min(), Cloud[:,1].max(), 1000)
smoothed = savgol_filter(spl(x), 21, 1) #smoothing
这工作得很好,除了我想给interp1d 给出的数据点赋予一些权重。对另一个处理这个问题的函数有什么建议吗?
基本上,我认为我可以根据其权重乘以云的每个点的出现,但这不是很优化,因为它增加了很多要插值的点数,并减慢了算法..
【问题讨论】:
标签: python scipy interpolation smoothing