@@ -1588,7 +1588,8 @@ def backfill_2d(values, limit=None, mask=None, dtype=None):
1588
1588
return values
1589
1589
1590
1590
1591
- def _clean_interp_method (method , order = None ):
1591
+ def _clean_interp_method (method , ** kwargs ):
1592
+ order = kwargs .get ('order' )
1592
1593
valid = ['linear' , 'time' , 'index' , 'values' , 'nearest' , 'zero' , 'slinear' ,
1593
1594
'quadratic' , 'cubic' , 'barycentric' , 'polynomial' ,
1594
1595
'krogh' , 'piecewise_polynomial' ,
@@ -1603,7 +1604,7 @@ def _clean_interp_method(method, order=None):
1603
1604
1604
1605
1605
1606
def interpolate_1d (xvalues , yvalues , method = 'linear' , limit = None ,
1606
- fill_value = None , bounds_error = False , order = None ):
1607
+ fill_value = None , bounds_error = False , order = None , ** kwargs ):
1607
1608
"""
1608
1609
Logic for the 1-d interpolation. The result should be 1-d, inputs
1609
1610
xvalues and yvalues will each be 1-d arrays of the same length.
@@ -1682,18 +1683,17 @@ def _interp_limit(invalid, limit):
1682
1683
'piecewise_polynomial' , 'pchip' ]
1683
1684
if method in sp_methods :
1684
1685
new_x = new_x [firstIndex :]
1685
- xvalues = xvalues [firstIndex :]
1686
1686
1687
1687
result [firstIndex :][invalid ] = _interpolate_scipy_wrapper (
1688
1688
valid_x , valid_y , new_x , method = method , fill_value = fill_value ,
1689
- bounds_error = bounds_error , order = order )
1689
+ bounds_error = bounds_error , order = order , ** kwargs )
1690
1690
if limit :
1691
1691
result [violate_limit ] = np .nan
1692
1692
return result
1693
1693
1694
1694
1695
1695
def _interpolate_scipy_wrapper (x , y , new_x , method , fill_value = None ,
1696
- bounds_error = False , order = None ):
1696
+ bounds_error = False , order = None , ** kwargs ):
1697
1697
"""
1698
1698
passed off to scipy.interpolate.interp1d. method is scipy's kind.
1699
1699
Returns an array interpolated at new_x. Add any new methods to
@@ -1734,7 +1734,7 @@ def _interpolate_scipy_wrapper(x, y, new_x, method, fill_value=None,
1734
1734
bounds_error = bounds_error )
1735
1735
new_y = terp (new_x )
1736
1736
elif method == 'spline' :
1737
- terp = interpolate .UnivariateSpline (x , y , k = order )
1737
+ terp = interpolate .UnivariateSpline (x , y , k = order , ** kwargs )
1738
1738
new_y = terp (new_x )
1739
1739
else :
1740
1740
# GH 7295: need to be able to write for some reason
@@ -1746,7 +1746,7 @@ def _interpolate_scipy_wrapper(x, y, new_x, method, fill_value=None,
1746
1746
if not new_x .flags .writeable :
1747
1747
new_x = new_x .copy ()
1748
1748
method = alt_methods [method ]
1749
- new_y = method (x , y , new_x )
1749
+ new_y = method (x , y , new_x , ** kwargs )
1750
1750
return new_y
1751
1751
1752
1752
0 commit comments