diff --git a/pandas/core/common.py b/pandas/core/common.py index 48fb75f59ac34..07b0b8da55786 100644 --- a/pandas/core/common.py +++ b/pandas/core/common.py @@ -1543,7 +1543,8 @@ def _interp_limit(invalid, limit): inds = inds[firstIndex:] result[firstIndex:][invalid] = np.interp(inds[invalid], inds[valid], - yvalues[firstIndex:][valid]) + yvalues[firstIndex:][valid], + np.nan, np.nan) if limit: result[violate_limit] = np.nan diff --git a/pandas/tests/test_common.py b/pandas/tests/test_common.py index 5e91adbe1a2fa..d909420e107e7 100644 --- a/pandas/tests/test_common.py +++ b/pandas/tests/test_common.py @@ -389,6 +389,12 @@ def test_groupby(): for k, v in grouped: assert v == expected[k] + + +def test_interpolate_linear(): + a = Series([np.nan, 1, np.nan, 3, np.nan])) + b = a.interpolate() + assert(b[4] == np.nan) def test_is_list_like():