From 269b32fe5339b1dcc6bba0b864ea1b01bb5b6dbe Mon Sep 17 00:00:00 2001 From: jbrockmendel Date: Sat, 21 Mar 2020 11:18:10 -0700 Subject: [PATCH] CLN: unnecessary ABCClasses --- pandas/core/arrays/interval.py | 5 ++--- pandas/core/dtypes/generic.py | 3 +-- pandas/tests/dtypes/test_generic.py | 3 --- pandas/tests/indexes/datetimes/test_ops.py | 14 ++++++++++---- pandas/tests/indexes/timedeltas/test_ops.py | 6 ++---- 5 files changed, 15 insertions(+), 16 deletions(-) diff --git a/pandas/core/arrays/interval.py b/pandas/core/arrays/interval.py index 51c94d5059f8b..d852ea4f584c9 100644 --- a/pandas/core/arrays/interval.py +++ b/pandas/core/arrays/interval.py @@ -29,7 +29,6 @@ ABCDatetimeIndex, ABCExtensionArray, ABCIndexClass, - ABCInterval, ABCIntervalIndex, ABCPeriodIndex, ABCSeries, @@ -529,7 +528,7 @@ def __setitem__(self, key, value): value_left, value_right = value, value # scalar interval - elif is_interval_dtype(value) or isinstance(value, ABCInterval): + elif is_interval_dtype(value) or isinstance(value, Interval): self._check_closed_matches(value, name="value") value_left, value_right = value.left, value.right @@ -642,7 +641,7 @@ def fillna(self, value=None, method=None, limit=None): if limit is not None: raise TypeError("limit is not supported for IntervalArray.") - if not isinstance(value, ABCInterval): + if not isinstance(value, Interval): msg = ( "'IntervalArray.fillna' only supports filling with a " f"scalar 'pandas.Interval'. Got a '{type(value).__name__}' instead." diff --git a/pandas/core/dtypes/generic.py b/pandas/core/dtypes/generic.py index 435d80b2c4dfb..2e83e6b32a51b 100644 --- a/pandas/core/dtypes/generic.py +++ b/pandas/core/dtypes/generic.py @@ -63,12 +63,11 @@ def _check(cls, inst) -> bool: "ABCTimedeltaArray", "_typ", ("timedeltaarray") ) ABCPeriodArray = create_pandas_abc_type("ABCPeriodArray", "_typ", ("periodarray",)) -ABCPeriod = create_pandas_abc_type("ABCPeriod", "_typ", ("period",)) ABCDateOffset = create_pandas_abc_type("ABCDateOffset", "_typ", ("dateoffset",)) -ABCInterval = create_pandas_abc_type("ABCInterval", "_typ", ("interval",)) ABCExtensionArray = create_pandas_abc_type( "ABCExtensionArray", "_typ", + # Note: IntervalArray and SparseArray are included bc they have _typ="extension" ("extension", "categorical", "periodarray", "datetimearray", "timedeltaarray"), ) ABCPandasArray = create_pandas_abc_type("ABCPandasArray", "_typ", ("npy_extension",)) diff --git a/pandas/tests/dtypes/test_generic.py b/pandas/tests/dtypes/test_generic.py index 2c8631ac2d71d..f9ee943d9e6bf 100644 --- a/pandas/tests/dtypes/test_generic.py +++ b/pandas/tests/dtypes/test_generic.py @@ -37,13 +37,10 @@ def test_abc_types(self): assert isinstance(self.df, gt.ABCDataFrame) assert isinstance(self.sparse_array, gt.ABCSparseArray) assert isinstance(self.categorical, gt.ABCCategorical) - assert isinstance(pd.Period("2012", freq="A-DEC"), gt.ABCPeriod) assert isinstance(pd.DateOffset(), gt.ABCDateOffset) assert isinstance(pd.Period("2012", freq="A-DEC").freq, gt.ABCDateOffset) assert not isinstance(pd.Period("2012", freq="A-DEC"), gt.ABCDateOffset) - assert isinstance(pd.Interval(0, 1.5), gt.ABCInterval) - assert not isinstance(pd.Period("2012", freq="A-DEC"), gt.ABCInterval) assert isinstance(self.datetime_array, gt.ABCDatetimeArray) assert not isinstance(self.datetime_index, gt.ABCDatetimeArray) diff --git a/pandas/tests/indexes/datetimes/test_ops.py b/pandas/tests/indexes/datetimes/test_ops.py index a533d06a924e6..cbb598286aefe 100644 --- a/pandas/tests/indexes/datetimes/test_ops.py +++ b/pandas/tests/indexes/datetimes/test_ops.py @@ -4,10 +4,16 @@ import numpy as np import pytest -from pandas.core.dtypes.generic import ABCDateOffset - import pandas as pd -from pandas import DatetimeIndex, Index, Series, Timestamp, bdate_range, date_range +from pandas import ( + DateOffset, + DatetimeIndex, + Index, + Series, + Timestamp, + bdate_range, + date_range, +) import pandas._testing as tm from pandas.tseries.offsets import BDay, BMonthEnd, CDay, Day, Hour @@ -394,7 +400,7 @@ def test_freq_setter(self, values, freq, tz): # can set to an offset, converting from string if necessary idx._data.freq = freq assert idx.freq == freq - assert isinstance(idx.freq, ABCDateOffset) + assert isinstance(idx.freq, DateOffset) # can reset to None idx._data.freq = None diff --git a/pandas/tests/indexes/timedeltas/test_ops.py b/pandas/tests/indexes/timedeltas/test_ops.py index 6606507dabc29..4af5df6e2cc55 100644 --- a/pandas/tests/indexes/timedeltas/test_ops.py +++ b/pandas/tests/indexes/timedeltas/test_ops.py @@ -3,13 +3,11 @@ import numpy as np import pytest -from pandas.core.dtypes.generic import ABCDateOffset - import pandas as pd from pandas import Series, TimedeltaIndex, timedelta_range import pandas._testing as tm -from pandas.tseries.offsets import Day, Hour +from pandas.tseries.offsets import DateOffset, Day, Hour class TestTimedeltaIndexOps: @@ -263,7 +261,7 @@ def test_freq_setter(self, values, freq): # can set to an offset, converting from string if necessary idx._data.freq = freq assert idx.freq == freq - assert isinstance(idx.freq, ABCDateOffset) + assert isinstance(idx.freq, DateOffset) # can reset to None idx._data.freq = None