scipy PchipInterpolator实现问题

时间:2016-01-07 16:33:37

标签: python scipy

我正在尝试根据链接实现PchipInterpolator:

http://docs.scipy.org/doc/scipy-0.14.0/reference/generated/scipy.interpolate.PchipInterpolator.html

我使用的代码是:

x = np.arange(0, 10)
y = np.exp(-x/3.0)
set_interp  =   scipy.interpolate.PchipInterpolator( x, y, extrapolate=True )

我收到错误:

TypeError: __init__() got an unexpected keyword argument 'extrapolate'

所以,显然我是以错误的方式实现它。我已经尝试了许多其他方法来实现推断,但它失败了。

2 个答案:

答案 0 :(得分:1)

PchipInterpolator在0.14版本中进行了重构,并在extrapolate关键字增长时进行了重构。

比较版本0.13:http://docs.scipy.org/doc/scipy-0.13.0/reference/generated/scipy.interpolate.PchipInterpolator.html

的文档

和版本0.14:http://docs.scipy.org/doc/scipy-0.14.0/reference/generated/scipy.interpolate.PchipInterpolator.html

(免责声明:我参与了该重构)

Scipy 0.13现在已经很老了,最好考虑升级。

interpolate的一致性方面,最新的scipy版本略胜一筹。例如,所有基于多项式的插值器(PPoly,BPoly,Pchip和Akima)都具有extrapolate关键字。

答案 1 :(得分:0)

试试这个:

from scipy import interpolate
import numpy as np


x = np.arange(0, 10)
y = np.exp(-x/3.0)
set_interp  =   interpolate.PchipInterpolator( x, y, extrapolate=True )

我没有错误