TST: Fixturize series/test_missing.py (#22973) · Pingviinituutti/pandas@e6b0c29 (original) (raw)

`@@ -21,8 +21,6 @@

`

21

21

`import pandas.util.testing as tm

`

22

22

`import pandas.util._test_decorators as td

`

23

23

``

24

``

`-

from .common import TestData

`

25

``

-

26

24

`try:

`

27

25

`import scipy

`

28

26

`_is_scipy_ge_0190 = (LooseVersion(scipy.version) >=

`

`@@ -52,7 +50,7 @@ def _simple_ts(start, end, freq='D'):

`

52

50

`return Series(np.random.randn(len(rng)), index=rng)

`

53

51

``

54

52

``

55

``

`-

class TestSeriesMissingData(TestData):

`

``

53

`+

class TestSeriesMissingData():

`

56

54

``

57

55

`def test_remove_na_deprecation(self):

`

58

56

`# see gh-16971

`

`@@ -489,7 +487,7 @@ def test_isnull_for_inf_deprecated(self):

`

489

487

`tm.assert_series_equal(r, e)

`

490

488

`tm.assert_series_equal(dr, de)

`

491

489

``

492

``

`-

def test_fillna(self):

`

``

490

`+

def test_fillna(self, datetime_series):

`

493

491

`ts = Series([0., 1., 2., 3., 4.], index=tm.makeDateIndex(5))

`

494

492

``

495

493

`tm.assert_series_equal(ts, ts.fillna(method='ffill'))

`

`@@ -506,7 +504,8 @@ def test_fillna(self):

`

506

504

`tm.assert_series_equal(ts.fillna(value=5), exp)

`

507

505

``

508

506

`pytest.raises(ValueError, ts.fillna)

`

509

``

`-

pytest.raises(ValueError, self.ts.fillna, value=0, method='ffill')

`

``

507

`+

pytest.raises(ValueError, datetime_series.fillna, value=0,

`

``

508

`+

method='ffill')

`

510

509

``

511

510

`# GH 5703

`

512

511

`s1 = Series([np.nan])

`

`@@ -576,9 +575,9 @@ def test_fillna_inplace(self):

`

576

575

`expected = x.fillna(value=0)

`

577

576

`assert_series_equal(y, expected)

`

578

577

``

579

``

`-

def test_fillna_invalid_method(self):

`

``

578

`+

def test_fillna_invalid_method(self, datetime_series):

`

580

579

`try:

`

581

``

`-

self.ts.fillna(method='ffil')

`

``

580

`+

datetime_series.fillna(method='ffil')

`

582

581

`except ValueError as inst:

`

583

582

`assert 'ffil' in str(inst)

`

584

583

``

`@@ -632,8 +631,8 @@ def test_timedelta64_nan(self):

`

632

631

``

633

632

`# def test_logical_range_select(self):

`

634

633

`# np.random.seed(12345)

`

635

``

`-

selector = -0.5 <= self.ts <= 0.5

`

636

``

`-

expected = (self.ts >= -0.5) & (self.ts <= 0.5)

`

``

634

`+

selector = -0.5 <= datetime_series <= 0.5

`

``

635

`+

expected = (datetime_series >= -0.5) & (datetime_series <= 0.5)

`

637

636

`# assert_series_equal(selector, expected)

`

638

637

``

639

638

`def test_dropna_empty(self):

`

`@@ -688,8 +687,8 @@ def test_dropna_intervals(self):

`

688

687

`expected = s.iloc[1:]

`

689

688

`assert_series_equal(result, expected)

`

690

689

``

691

``

`-

def test_valid(self):

`

692

``

`-

ts = self.ts.copy()

`

``

690

`+

def test_valid(self, datetime_series):

`

``

691

`+

ts = datetime_series.copy()

`

693

692

`ts[::2] = np.NaN

`

694

693

``

695

694

`result = ts.dropna()

`

`@@ -734,12 +733,12 @@ def test_pad_require_monotonicity(self):

`

734

733

``

735

734

`pytest.raises(ValueError, rng2.get_indexer, rng, method='pad')

`

736

735

``

737

``

`-

def test_dropna_preserve_name(self):

`

738

``

`-

self.ts[:5] = np.nan

`

739

``

`-

result = self.ts.dropna()

`

740

``

`-

assert result.name == self.ts.name

`

741

``

`-

name = self.ts.name

`

742

``

`-

ts = self.ts.copy()

`

``

736

`+

def test_dropna_preserve_name(self, datetime_series):

`

``

737

`+

datetime_series[:5] = np.nan

`

``

738

`+

result = datetime_series.dropna()

`

``

739

`+

assert result.name == datetime_series.name

`

``

740

`+

name = datetime_series.name

`

``

741

`+

ts = datetime_series.copy()

`

743

742

`ts.dropna(inplace=True)

`

744

743

`assert ts.name == name

`

745

744

``

`@@ -825,19 +824,20 @@ def test_series_pad_backfill_limit(self):

`

825

824

`assert_series_equal(result, expected)

`

826

825

``

827

826

``

828

``

`-

class TestSeriesInterpolateData(TestData):

`

``

827

`+

class TestSeriesInterpolateData():

`

829

828

``

830

``

`-

def test_interpolate(self):

`

831

``

`-

ts = Series(np.arange(len(self.ts), dtype=float), self.ts.index)

`

``

829

`+

def test_interpolate(self, datetime_series, string_series):

`

``

830

`+

ts = Series(np.arange(len(datetime_series), dtype=float),

`

``

831

`+

datetime_series.index)

`

832

832

``

833

833

`ts_copy = ts.copy()

`

834

834

`ts_copy[5:10] = np.NaN

`

835

835

``

836

836

`linear_interp = ts_copy.interpolate(method='linear')

`

837

837

`tm.assert_series_equal(linear_interp, ts)

`

838

838

``

839

``

`-

ord_ts = Series([d.toordinal() for d in self.ts.index],

`

840

``

`-

index=self.ts.index).astype(float)

`

``

839

`+

ord_ts = Series([d.toordinal() for d in datetime_series.index],

`

``

840

`+

index=datetime_series.index).astype(float)

`

841

841

``

842

842

`ord_ts_copy = ord_ts.copy()

`

843

843

`ord_ts_copy[5:10] = np.NaN

`

`@@ -847,7 +847,7 @@ def test_interpolate(self):

`

847

847

``

848

848

`# try time interpolation on a non-TimeSeries

`

849

849

`# Only raises ValueError if there are NaNs.

`

850

``

`-

non_ts = self.series.copy()

`

``

850

`+

non_ts = string_series.copy()

`

851

851

`non_ts[0] = np.NaN

`

852

852

`pytest.raises(ValueError, non_ts.interpolate, method='time')

`

853

853

``