Skip to content

Commit 7d616b9

Browse files
authored
REF: use inherit_names for PeriodIndex (#31433)
1 parent dac3ab8 commit 7d616b9

File tree

1 file changed

+9
-21
lines changed

1 file changed

+9
-21
lines changed

pandas/core/indexes/period.py

Lines changed: 9 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424
pandas_dtype,
2525
)
2626

27-
from pandas.core.accessor import delegate_names
2827
from pandas.core.arrays.period import (
2928
PeriodArray,
3029
period_array,
@@ -39,11 +38,9 @@
3938
ensure_index,
4039
maybe_extract_name,
4140
)
42-
from pandas.core.indexes.datetimelike import (
43-
DatetimeIndexOpsMixin,
44-
DatetimelikeDelegateMixin,
45-
)
41+
from pandas.core.indexes.datetimelike import DatetimeIndexOpsMixin
4642
from pandas.core.indexes.datetimes import DatetimeIndex, Index
43+
from pandas.core.indexes.extension import inherit_names
4744
from pandas.core.indexes.numeric import Int64Index
4845
from pandas.core.ops import get_op_result_name
4946
from pandas.core.tools.datetimes import DateParseError
@@ -71,23 +68,14 @@ def _new_PeriodIndex(cls, **d):
7168
return cls(values, **d)
7269

7370

74-
class PeriodDelegateMixin(DatetimelikeDelegateMixin):
75-
"""
76-
Delegate from PeriodIndex to PeriodArray.
77-
"""
78-
79-
_raw_methods = {"_format_native_types"}
80-
_raw_properties = {"is_leap_year", "freq"}
81-
82-
_delegated_properties = PeriodArray._datetimelike_ops + list(_raw_properties)
83-
_delegated_methods = set(PeriodArray._datetimelike_methods) | _raw_methods
84-
85-
86-
@delegate_names(PeriodArray, PeriodDelegateMixin._delegated_properties, typ="property")
87-
@delegate_names(
88-
PeriodArray, PeriodDelegateMixin._delegated_methods, typ="method", overwrite=True
71+
@inherit_names(
72+
["strftime", "to_timestamp", "asfreq", "start_time", "end_time"]
73+
+ PeriodArray._field_ops,
74+
PeriodArray,
75+
wrap=True,
8976
)
90-
class PeriodIndex(DatetimeIndexOpsMixin, Int64Index, PeriodDelegateMixin):
77+
@inherit_names(["is_leap_year", "freq", "_format_native_types"], PeriodArray)
78+
class PeriodIndex(DatetimeIndexOpsMixin, Int64Index):
9179
"""
9280
Immutable ndarray holding ordinal values indicating regular periods in time.
9381

0 commit comments

Comments
 (0)