diff --git a/pandas/core/arrays/period.py b/pandas/core/arrays/period.py index 5c700a53ceac4..3978161829481 100644 --- a/pandas/core/arrays/period.py +++ b/pandas/core/arrays/period.py @@ -746,8 +746,7 @@ def _check_timedeltalike_freq_compat(self, other): IncompatibleFrequency """ assert isinstance(self.freq, Tick) # checked by calling function - own_offset = frequencies.to_offset(self.freq.rule_code) - base_nanos = delta_to_nanoseconds(own_offset) + base_nanos = self.freq.base.nanos if isinstance(other, (timedelta, np.timedelta64, Tick)): nanos = delta_to_nanoseconds(other) diff --git a/pandas/core/indexes/period.py b/pandas/core/indexes/period.py index b0b85f69396ba..be243d7014233 100644 --- a/pandas/core/indexes/period.py +++ b/pandas/core/indexes/period.py @@ -5,7 +5,7 @@ from pandas._libs import index as libindex from pandas._libs.lib import no_default -from pandas._libs.tslibs import Period, frequencies as libfrequencies, resolution +from pandas._libs.tslibs import Period, resolution from pandas._libs.tslibs.parsing import parse_time_string from pandas._typing import DtypeObj, Label from pandas.util._decorators import Appender, cache_readonly, doc @@ -44,7 +44,6 @@ from pandas.core.ops import get_op_result_name from pandas.core.tools.datetimes import DateParseError -from pandas.tseries import frequencies from pandas.tseries.offsets import DateOffset, Tick _index_doc_kwargs = dict(ibase._index_doc_kwargs) @@ -278,15 +277,12 @@ def _maybe_convert_timedelta(self, other): of self.freq. Note IncompatibleFrequency subclasses ValueError. """ if isinstance(other, (timedelta, np.timedelta64, Tick, np.ndarray)): - offset = frequencies.to_offset(self.freq.rule_code) - if isinstance(offset, Tick): + if isinstance(self.freq, Tick): # _check_timedeltalike_freq_compat will raise if incompatible delta = self._data._check_timedeltalike_freq_compat(other) return delta elif isinstance(other, DateOffset): - freqstr = other.rule_code - base = libfrequencies.get_base_alias(freqstr) - if base == self.freq.rule_code: + if other.base == self.freq.base: return other.n raise raise_on_incompatible(self, other)