From d6167710c43dfa65bb9fef12c100a317c9e8eac8 Mon Sep 17 00:00:00 2001 From: jbrockmendel Date: Sat, 25 Apr 2020 12:23:21 -0700 Subject: [PATCH 1/2] CLN: remove unnecessary overriden methods --- pandas/_libs/index.pyx | 35 +---------------------------------- 1 file changed, 1 insertion(+), 34 deletions(-) diff --git a/pandas/_libs/index.pyx b/pandas/_libs/index.pyx index d8e0d9c6bd7ab..871360672c6f0 100644 --- a/pandas/_libs/index.pyx +++ b/pandas/_libs/index.pyx @@ -21,14 +21,13 @@ cnp.import_array() cimport pandas._libs.util as util -from pandas._libs.tslibs import Period +from pandas._libs.tslibs import Period, Timedelta from pandas._libs.tslibs.nattype cimport c_NaT as NaT from pandas._libs.tslibs.c_timestamp cimport _Timestamp from pandas._libs.hashtable cimport HashTable from pandas._libs import algos, hashtable as _hash -from pandas._libs.tslibs import Timedelta, period as periodlib from pandas._libs.missing import checknull @@ -501,38 +500,6 @@ cdef class PeriodEngine(Int64Engine): cdef _call_monotonic(self, values): return algos.is_monotonic(values, timelike=True) - def get_indexer(self, values): - cdef: - ndarray[int64_t, ndim=1] ordinals - - super(PeriodEngine, self)._ensure_mapping_populated() - - freq = super(PeriodEngine, self).vgetter().freq - ordinals = periodlib.extract_ordinals(values, freq) - - return self.mapping.lookup(ordinals) - - def get_pad_indexer(self, other: np.ndarray, limit=None) -> np.ndarray: - freq = super(PeriodEngine, self).vgetter().freq - ordinal = periodlib.extract_ordinals(other, freq) - - return algos.pad(self._get_index_values(), - np.asarray(ordinal), limit=limit) - - def get_backfill_indexer(self, other: np.ndarray, limit=None) -> np.ndarray: - freq = super(PeriodEngine, self).vgetter().freq - ordinal = periodlib.extract_ordinals(other, freq) - - return algos.backfill(self._get_index_values(), - np.asarray(ordinal), limit=limit) - - def get_indexer_non_unique(self, targets): - freq = super(PeriodEngine, self).vgetter().freq - ordinal = periodlib.extract_ordinals(targets, freq) - ordinal_array = np.asarray(ordinal) - - return super(PeriodEngine, self).get_indexer_non_unique(ordinal_array) - cdef class BaseMultiIndexCodesEngine: """ From 68994b104ab55005a78caab5339dff71ef50de57 Mon Sep 17 00:00:00 2001 From: jbrockmendel Date: Sat, 25 Apr 2020 13:59:39 -0700 Subject: [PATCH 2/2] no need to override _engine attr --- pandas/core/indexes/period.py | 7 ------- 1 file changed, 7 deletions(-) diff --git a/pandas/core/indexes/period.py b/pandas/core/indexes/period.py index 957c01c2dca96..c2e4932a8f8e7 100644 --- a/pandas/core/indexes/period.py +++ b/pandas/core/indexes/period.py @@ -1,6 +1,5 @@ from datetime import datetime, timedelta from typing import Any -import weakref import numpy as np @@ -322,12 +321,6 @@ def _formatter_func(self): # ------------------------------------------------------------------------ # Indexing - @cache_readonly - def _engine(self): - # To avoid a reference cycle, pass a weakref of self._values to _engine_type. - period = weakref.ref(self._values) - return self._engine_type(period, len(self)) - @doc(Index.__contains__) def __contains__(self, key: Any) -> bool: if isinstance(key, Period):