Skip to content

API: Removed PeriodDtype.dtype_code from public API #34796

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Jun 15, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion pandas/_libs/tslibs/dtypes.pxd
Original file line number Diff line number Diff line change
Expand Up @@ -73,4 +73,4 @@ cdef enum PeriodDtypeCode:

cdef class PeriodDtypeBase:
cdef readonly:
PeriodDtypeCode dtype_code
PeriodDtypeCode _dtype_code
12 changes: 6 additions & 6 deletions pandas/_libs/tslibs/dtypes.pyx
Original file line number Diff line number Diff line change
Expand Up @@ -8,23 +8,23 @@ cdef class PeriodDtypeBase:
describing a PeriodDtype in an integer code.
"""
# cdef readonly:
# PeriodDtypeCode dtype_code
# PeriodDtypeCode _dtype_code

def __cinit__(self, PeriodDtypeCode code):
self.dtype_code = code
self._dtype_code = code

def __eq__(self, other):
if not isinstance(other, PeriodDtypeBase):
return False
if not isinstance(self, PeriodDtypeBase):
# cython semantics, this is a reversed op
return False
return self.dtype_code == other.dtype_code
return self._dtype_code == other._dtype_code

@property
def freq_group(self) -> int:
# See also: libperiod.get_freq_group
return (self.dtype_code // 1000) * 1000
return (self._dtype_code // 1000) * 1000

@property
def date_offset(self):
Expand All @@ -35,8 +35,8 @@ cdef class PeriodDtypeBase:
"""
from .offsets import to_offset

freqstr = _reverse_period_code_map.get(self.dtype_code)
# equiv: freqstr = libfrequencies.get_freq_str(self.dtype_code)
freqstr = _reverse_period_code_map.get(self._dtype_code)
# equiv: freqstr = libfrequencies.get_freq_str(self._dtype_code)

return to_offset(freqstr)

Expand Down
34 changes: 17 additions & 17 deletions pandas/_libs/tslibs/period.pyx
Original file line number Diff line number Diff line change
Expand Up @@ -1645,7 +1645,7 @@ cdef class _Period:
"""
freq = self._maybe_convert_freq(freq)
how = validate_end_alias(how)
base1 = self._dtype.dtype_code
base1 = self._dtype._dtype_code
base2 = freq_to_dtype_code(freq)

# self.n can't be negative or 0
Expand Down Expand Up @@ -1734,7 +1734,7 @@ cdef class _Period:
return endpoint - Timedelta(1, 'ns')

if freq is None:
base = self._dtype.dtype_code
base = self._dtype._dtype_code
freq = get_to_timestamp_base(base)
base = freq
else:
Expand All @@ -1748,12 +1748,12 @@ cdef class _Period:

@property
def year(self) -> int:
base = self._dtype.dtype_code
base = self._dtype._dtype_code
return pyear(self.ordinal, base)

@property
def month(self) -> int:
base = self._dtype.dtype_code
base = self._dtype._dtype_code
return pmonth(self.ordinal, base)

@property
Expand All @@ -1776,7 +1776,7 @@ cdef class _Period:
>>> p.day
11
"""
base = self._dtype.dtype_code
base = self._dtype._dtype_code
return pday(self.ordinal, base)

@property
Expand Down Expand Up @@ -1806,7 +1806,7 @@ cdef class _Period:
>>> p.hour
0
"""
base = self._dtype.dtype_code
base = self._dtype._dtype_code
return phour(self.ordinal, base)

@property
Expand All @@ -1830,7 +1830,7 @@ cdef class _Period:
>>> p.minute
3
"""
base = self._dtype.dtype_code
base = self._dtype._dtype_code
return pminute(self.ordinal, base)

@property
Expand All @@ -1854,12 +1854,12 @@ cdef class _Period:
>>> p.second
12
"""
base = self._dtype.dtype_code
base = self._dtype._dtype_code
return psecond(self.ordinal, base)

@property
def weekofyear(self) -> int:
base = self._dtype.dtype_code
base = self._dtype._dtype_code
return pweek(self.ordinal, base)

@property
Expand Down Expand Up @@ -1940,7 +1940,7 @@ cdef class _Period:
>>> per.end_time.dayofweek
2
"""
base = self._dtype.dtype_code
base = self._dtype._dtype_code
return pweekday(self.ordinal, base)

@property
Expand Down Expand Up @@ -2028,12 +2028,12 @@ cdef class _Period:
>>> period.dayofyear
1
"""
base = self._dtype.dtype_code
base = self._dtype._dtype_code
return pday_of_year(self.ordinal, base)

@property
def quarter(self) -> int:
base = self._dtype.dtype_code
base = self._dtype._dtype_code
return pquarter(self.ordinal, base)

@property
Expand Down Expand Up @@ -2077,7 +2077,7 @@ cdef class _Period:
>>> per.year
2017
"""
base = self._dtype.dtype_code
base = self._dtype._dtype_code
return pqyear(self.ordinal, base)

@property
Expand Down Expand Up @@ -2111,7 +2111,7 @@ cdef class _Period:
>>> p.days_in_month
29
"""
base = self._dtype.dtype_code
base = self._dtype._dtype_code
return pdays_in_month(self.ordinal, base)

@property
Expand Down Expand Up @@ -2149,15 +2149,15 @@ cdef class _Period:
return self.freq.freqstr

def __repr__(self) -> str:
base = self._dtype.dtype_code
base = self._dtype._dtype_code
formatted = period_format(self.ordinal, base)
return f"Period('{formatted}', '{self.freqstr}')"

def __str__(self) -> str:
"""
Return a string representation for a particular DataFrame
"""
base = self._dtype.dtype_code
base = self._dtype._dtype_code
formatted = period_format(self.ordinal, base)
value = str(formatted)
return value
Expand Down Expand Up @@ -2309,7 +2309,7 @@ cdef class _Period:
>>> a.strftime('%b. %d, %Y was a %A')
'Jan. 01, 2001 was a Monday'
"""
base = self._dtype.dtype_code
base = self._dtype._dtype_code
return period_format(self.ordinal, base, fmt)


Expand Down