Skip to content

Commit 9ed7524

Browse files
committed
fix interpolation related issue with scipy 0.19
1 parent ca09705 commit 9ed7524

File tree

2 files changed

+21
-11
lines changed

2 files changed

+21
-11
lines changed

pandas/tests/frame/test_missing.py

+14-9
Original file line numberDiff line numberDiff line change
@@ -548,7 +548,7 @@ def test_interp_nan_idx(self):
548548
df.interpolate(method='values')
549549

550550
def test_interp_various(self):
551-
tm.skip_if_no_package('scipy', max_version='0.19.0')
551+
tm._skip_if_no_scipy()
552552

553553
df = DataFrame({'A': [1, 2, np.nan, 4, 5, np.nan, 7],
554554
'C': [1, 2, 3, 5, 8, 13, 21]})
@@ -561,8 +561,13 @@ def test_interp_various(self):
561561
assert_frame_equal(result, expected)
562562

563563
result = df.interpolate(method='cubic')
564-
expected.A.loc[3] = 2.81621174
565-
expected.A.loc[13] = 5.64146581
564+
import scipy
565+
if scipy.__version__ >= LooseVersion('0.19.0'):
566+
expected.A.loc[3] = 2.81547781
567+
expected.A.loc[13] = 5.52964175
568+
else:
569+
expected.A.loc[3] = 2.81621174
570+
expected.A.loc[13] = 5.64146581
566571
assert_frame_equal(result, expected)
567572

568573
result = df.interpolate(method='nearest')
@@ -571,8 +576,12 @@ def test_interp_various(self):
571576
assert_frame_equal(result, expected, check_dtype=False)
572577

573578
result = df.interpolate(method='quadratic')
574-
expected.A.loc[3] = 2.82533638
575-
expected.A.loc[13] = 6.02817974
579+
if scipy.__version__ >= LooseVersion('0.19.0'):
580+
expected.A.loc[3] = 2.82150771
581+
expected.A.loc[13] = 6.12648668
582+
else:
583+
expected.A.loc[3] = 2.82533638
584+
expected.A.loc[13] = 6.02817974
576585
assert_frame_equal(result, expected)
577586

578587
result = df.interpolate(method='slinear')
@@ -585,10 +594,6 @@ def test_interp_various(self):
585594
expected.A.loc[13] = 5
586595
assert_frame_equal(result, expected, check_dtype=False)
587596

588-
result = df.interpolate(method='quadratic')
589-
expected.A.loc[3] = 2.82533638
590-
expected.A.loc[13] = 6.02817974
591-
assert_frame_equal(result, expected)
592597

593598
def test_interp_alt_scipy(self):
594599
tm._skip_if_no_scipy()

pandas/tests/series/test_missing.py

+7-2
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import pytz
55
from datetime import timedelta, datetime
66

7+
from distutils.version import LooseVersion
78
from numpy import nan
89
import numpy as np
910
import pandas as pd
@@ -827,7 +828,7 @@ def test_interp_quad(self):
827828
assert_series_equal(result, expected)
828829

829830
def test_interp_scipy_basic(self):
830-
tm.skip_if_no_package('scipy', max_version='0.19.0')
831+
tm._skip_if_no_scipy()
831832

832833
s = Series([1, 3, np.nan, 12, np.nan, 25])
833834
# slinear
@@ -852,7 +853,11 @@ def test_interp_scipy_basic(self):
852853
result = s.interpolate(method='zero', downcast='infer')
853854
assert_series_equal(result, expected)
854855
# quadratic
855-
expected = Series([1, 3., 6.769231, 12., 18.230769, 25.])
856+
import scipy
857+
if scipy.__version__ >= LooseVersion('0.19.0'):
858+
expected = Series([1, 3., 6.823529, 12., 18.058824, 25.])
859+
else:
860+
expected = Series([1, 3., 6.769231, 12., 18.230769, 25.])
856861
result = s.interpolate(method='quadratic')
857862
assert_series_equal(result, expected)
858863

0 commit comments

Comments
 (0)