diff --git a/pandas/_libs/tslibs/offsets.pyx b/pandas/_libs/tslibs/offsets.pyx index 4069d192d9e88..250ff608308d8 100644 --- a/pandas/_libs/tslibs/offsets.pyx +++ b/pandas/_libs/tslibs/offsets.pyx @@ -3491,7 +3491,7 @@ INVALID_FREQ_ERR_MSG = "Invalid frequency: {0}" _offset_map = {} -cpdef base_and_stride(str freqstr): +cdef _base_and_stride(str freqstr): """ Return base freq and stride info from string representation @@ -3502,7 +3502,7 @@ cpdef base_and_stride(str freqstr): Examples -------- - _freq_and_stride('5Min') -> 'Min', 5 + _base_and_stride('5Min') -> 'Min', 5 """ groups = opattern.match(freqstr) @@ -3606,7 +3606,7 @@ cpdef to_offset(freq): stride = freq[1] if isinstance(stride, str): name, stride = stride, name - name, _ = base_and_stride(name) + name, _ = _base_and_stride(name) delta = _get_offset(name) * stride elif isinstance(freq, timedelta): diff --git a/pandas/core/arrays/datetimes.py b/pandas/core/arrays/datetimes.py index 90513e355e732..b6c27abc321e1 100644 --- a/pandas/core/arrays/datetimes.py +++ b/pandas/core/arrays/datetimes.py @@ -12,7 +12,6 @@ conversion, fields, iNaT, - offsets as liboffsets, resolution as libresolution, timezones, to_offset, @@ -1106,8 +1105,7 @@ def to_period(self, freq=None): # https://github.com/pandas-dev/pandas/issues/33358 if res is None: - base, stride = liboffsets.base_and_stride(freq) - res = f"{stride}{base}" + res = freq freq = res diff --git a/pandas/plotting/_matplotlib/timeseries.py b/pandas/plotting/_matplotlib/timeseries.py index 99fc730e818c4..fa8051954e435 100644 --- a/pandas/plotting/_matplotlib/timeseries.py +++ b/pandas/plotting/_matplotlib/timeseries.py @@ -7,7 +7,6 @@ from pandas._libs.tslibs import Period, to_offset from pandas._libs.tslibs.frequencies import FreqGroup -from pandas._libs.tslibs.offsets import base_and_stride from pandas._typing import FrameOrSeriesUnion from pandas.core.dtypes.generic import ( @@ -167,12 +166,9 @@ def _get_ax_freq(ax): def _get_period_alias(freq) -> Optional[str]: - if isinstance(freq, DateOffset): - freq = freq.rule_code - else: - freq = base_and_stride(freq)[0] + freqstr = to_offset(freq).rule_code - freq = get_period_alias(freq) + freq = get_period_alias(freqstr) return freq