2016-05-24 2 views
0

Я пытаюсь 2d экстраполировать с SciPy пакетом, такие как:Экстраполировать с помощью interp2d из SciPy питона

interp2d(df['maturity'], df['strike'], df['IV'], fill_value='extrapolate')(0.08, 0.65) 

минимальное значением ЦФА [ «зрелостью»] является 0,09, и я получаю следующее сообщение об ошибке:

IV = interp2d(group['maturity'], group['strike'], group['IV'], fill_value='extrapolate')(0.08, 0.65) 
    File "C:\Anaconda2\lib\site-packages\scipy\interpolate\interpolate.py", line 298, in __call__ 
    z[:, out_of_bounds_x] = self.fill_value 
ValueError: could not convert string to float: extrapolate 

fill_value = 'extrapolate' отлично работает на interp1d ... любая идея, если есть простой способ экстраполяции на метод 2d?

спасибо.

+0

это стонет о строковых значениях, так что же здесь типа dtypes? что делает 'df.info()' show? – EdChum

+0

'код <класс«pandas.core.frame.DataFrame»> даты 72 ненулевые datetime64 [нс] IV 72 ненулевого float64 погашения 72 ненулевого float64 удара 72 ненулевой float64' проблем кажется исходить из того, что он использует z [:, out_of_bounds_x] = self.fill_value и пытается каким-то образом передать строку. На самом деле я думаю, что он пытается передать оба значения следующим образом: (0.08, 0.65) и видеть, что у него есть строка –

ответ

0

похоже, что я не делал работу на дому.

fill_value = 'extrapolate' 

только работает для interp1d. если вы не дадите interp2d параметр fill_value, он будет экстраполироваться.

Смежные вопросы