11from collections .abc import Hashable
22import datetime
33from typing import (
4- final ,
4+ Any ,
55 overload ,
66)
77
@@ -14,27 +14,28 @@ from pandas.core.indexes.timedeltas import TimedeltaIndex
1414from typing_extensions import Self
1515
1616from pandas ._libs .tslibs import (
17- BaseOffset ,
1817 NaTType ,
1918 Period ,
2019)
2120from pandas ._libs .tslibs .period import _PeriodAddSub
21+ from pandas ._typing import (
22+ AxesData ,
23+ Dtype ,
24+ Frequency ,
25+ np_1darray ,
26+ )
2227
2328class PeriodIndex (DatetimeIndexOpsMixin [pd .Period , np .object_ ], PeriodIndexFieldOps ):
2429 def __new__ (
2530 cls ,
26- data = ...,
27- ordinal = ...,
28- freq = ...,
29- tz = ...,
30- dtype = ...,
31- copy : bool = ...,
32- name : Hashable = ...,
33- ** fields ,
34- ): ...
31+ data : AxesData [Any ] | None = None ,
32+ freq : Frequency | None = None ,
33+ dtype : Dtype | None = None ,
34+ copy : bool = False ,
35+ name : Hashable | None = None ,
36+ ) -> Self : ...
3537 @property
36- def values (self ): ...
37- def __contains__ (self , key ) -> bool : ...
38+ def values (self ) -> np_1darray [np .object_ ]: ...
3839 @overload
3940 def __sub__ (self , other : Period ) -> Index : ...
4041 @overload
@@ -53,31 +54,18 @@ class PeriodIndex(DatetimeIndexOpsMixin[pd.Period, np.object_], PeriodIndexField
5354 def __rsub__ ( # pyright: ignore[reportIncompatibleMethodOverride]
5455 self , other : NaTType
5556 ) -> NaTType : ...
56- @final
57- def __array_wrap__ (self , result , context = ...): ...
58- def asof_locs (self , where , mask ): ...
59- def searchsorted (self , value , side : str = ..., sorter = ...): ...
57+ def asof_locs (
58+ self ,
59+ where : pd .DatetimeIndex | PeriodIndex ,
60+ mask : np_1darray [np .bool_ ],
61+ ) -> np_1darray [np .intp ]: ...
6062 @property
6163 def is_full (self ) -> bool : ...
6264 @property
6365 def inferred_type (self ) -> str : ...
64- @final
65- def get_indexer (self , target , method = ..., limit = ..., tolerance = ...): ...
66- def get_indexer_non_unique (self , target ): ...
67- def insert (self , loc , item ): ...
68- @final
69- def join (
70- self ,
71- other ,
72- * ,
73- how : str = ...,
74- level = ...,
75- return_indexers : bool = ...,
76- sort : bool = ...,
77- ): ...
7866 @property
7967 def freqstr (self ) -> str : ...
80- def shift (self , periods : int = 1 , freq = ... ) -> Self : ...
68+ def shift (self , periods : int = 1 , freq : Frequency | None = None ) -> Self : ...
8169
8270def period_range (
8371 start : (
@@ -87,6 +75,6 @@ def period_range(
8775 str | datetime .datetime | datetime .date | pd .Timestamp | pd .Period | None
8876 ) = None ,
8977 periods : int | None = None ,
90- freq : str | BaseOffset | None = None ,
78+ freq : Frequency | None = None ,
9179 name : Hashable | None = None ,
9280) -> PeriodIndex : ...
0 commit comments