我有data set,第一列是x
数据(wavelenght),第二列是y
数据(相对强度)。
我希望将其插入另一个x_new
- 数据,但我的问题是splrep
返回nan
- 值:
>>import numpy as np
>>from scipy.interpolate import splrep, splev
>>d = np.loadtxt("test.txt")
>>x,y = d[:,0],d[:,1]
>>
>>f = splrep( x,y,k=5 )
>>print f
>>(array([ 4501.19, 4501.19, 4501.19, ..., 7091.74, 7091.74, 7091.74]), array([ nan, nan, nan, ..., 0., 0., 0.]), 5)
当我没有指定k
时也会发生这种情况。有什么建议如何克服这个问题?
答案 0 :(得分:5)
您的x
值可能包含重复项,使用s=...
关键字参数进行splrep设置平滑因子,因为如果未设置,则样条曲线应该遍历每个点完全< / em>这是重复的不可能。
可能它们不是重复的,但也非常接近。