1
1
from collections .abc import Hashable
2
2
import datetime
3
3
from typing import (
4
- final ,
4
+ Any ,
5
5
overload ,
6
6
)
7
7
@@ -14,27 +14,28 @@ from pandas.core.indexes.timedeltas import TimedeltaIndex
14
14
from typing_extensions import Self
15
15
16
16
from pandas ._libs .tslibs import (
17
- BaseOffset ,
18
17
NaTType ,
19
18
Period ,
20
19
)
21
20
from pandas ._libs .tslibs .period import _PeriodAddSub
21
+ from pandas ._typing import (
22
+ AxesData ,
23
+ Dtype ,
24
+ Frequency ,
25
+ np_1darray ,
26
+ )
22
27
23
28
class PeriodIndex (DatetimeIndexOpsMixin [pd .Period , np .object_ ], PeriodIndexFieldOps ):
24
29
def __new__ (
25
30
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 : ...
35
37
@property
36
- def values (self ): ...
37
- def __contains__ (self , key ) -> bool : ...
38
+ def values (self ) -> np_1darray [np .object_ ]: ...
38
39
@overload
39
40
def __sub__ (self , other : Period ) -> Index : ...
40
41
@overload
@@ -53,31 +54,18 @@ class PeriodIndex(DatetimeIndexOpsMixin[pd.Period, np.object_], PeriodIndexField
53
54
def __rsub__ ( # pyright: ignore[reportIncompatibleMethodOverride]
54
55
self , other : NaTType
55
56
) -> 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 ]: ...
60
62
@property
61
63
def is_full (self ) -> bool : ...
62
64
@property
63
65
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
- ): ...
78
66
@property
79
67
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 : ...
81
69
82
70
def period_range (
83
71
start : (
@@ -87,6 +75,6 @@ def period_range(
87
75
str | datetime .datetime | datetime .date | pd .Timestamp | pd .Period | None
88
76
) = None ,
89
77
periods : int | None = None ,
90
- freq : str | BaseOffset | None = None ,
78
+ freq : Frequency | None = None ,
91
79
name : Hashable | None = None ,
92
80
) -> PeriodIndex : ...
0 commit comments