45
45
ArrayLike ,
46
46
Axes ,
47
47
Axis ,
48
+ AxisInt ,
48
49
DropKeep ,
50
+ Dtype ,
49
51
DtypeObj ,
50
52
F ,
51
53
IgnoreRaise ,
57
59
ReindexMethod ,
58
60
Self ,
59
61
Shape ,
62
+ SliceType ,
60
63
npt ,
61
64
)
62
65
from pandas .compat .numpy import function as nv
@@ -1087,7 +1090,7 @@ def view(self, cls=None):
1087
1090
result ._id = self ._id
1088
1091
return result
1089
1092
1090
- def astype (self , dtype , copy : bool = True ):
1093
+ def astype (self , dtype : Dtype , copy : bool = True ):
1091
1094
"""
1092
1095
Create an Index with values cast to dtypes.
1093
1096
@@ -2957,7 +2960,7 @@ def _dti_setop_align_tzs(self, other: Index, setop: str_t) -> tuple[Index, Index
2957
2960
return self , other
2958
2961
2959
2962
@final
2960
- def union (self , other , sort = None ):
2963
+ def union (self , other , sort : bool | None = None ):
2961
2964
"""
2962
2965
Form the union of two Index objects.
2963
2966
@@ -3334,7 +3337,7 @@ def _intersection_via_get_indexer(
3334
3337
return result
3335
3338
3336
3339
@final
3337
- def difference (self , other , sort = None ):
3340
+ def difference (self , other , sort : bool | None = None ):
3338
3341
"""
3339
3342
Return a new Index with elements of index not in `other`.
3340
3343
@@ -3420,7 +3423,12 @@ def _wrap_difference_result(self, other, result):
3420
3423
# We will override for MultiIndex to handle empty results
3421
3424
return self ._wrap_setop_result (other , result )
3422
3425
3423
- def symmetric_difference (self , other , result_name = None , sort = None ):
3426
+ def symmetric_difference (
3427
+ self ,
3428
+ other ,
3429
+ result_name : abc .Hashable | None = None ,
3430
+ sort : bool | None = None ,
3431
+ ):
3424
3432
"""
3425
3433
Compute the symmetric difference of two Index objects.
3426
3434
@@ -6389,7 +6397,7 @@ def _transform_index(self, func, *, level=None) -> Index:
6389
6397
items = [func (x ) for x in self ]
6390
6398
return Index (items , name = self .name , tupleize_cols = False )
6391
6399
6392
- def isin (self , values , level = None ) -> npt .NDArray [np .bool_ ]:
6400
+ def isin (self , values , level : str_t | int | None = None ) -> npt .NDArray [np .bool_ ]:
6393
6401
"""
6394
6402
Return a boolean array where the index values are in `values`.
6395
6403
@@ -6687,7 +6695,12 @@ def get_slice_bound(self, label, side: Literal["left", "right"]) -> int:
6687
6695
else :
6688
6696
return slc
6689
6697
6690
- def slice_locs (self , start = None , end = None , step = None ) -> tuple [int , int ]:
6698
+ def slice_locs (
6699
+ self ,
6700
+ start : SliceType = None ,
6701
+ end : SliceType = None ,
6702
+ step : int | None = None ,
6703
+ ) -> tuple [int , int ]:
6691
6704
"""
6692
6705
Compute slice locations for input labels.
6693
6706
@@ -6781,7 +6794,9 @@ def slice_locs(self, start=None, end=None, step=None) -> tuple[int, int]:
6781
6794
6782
6795
return start_slice , end_slice
6783
6796
6784
- def delete (self , loc ) -> Self :
6797
+ def delete (
6798
+ self , loc : int | np .integer | list [int ] | npt .NDArray [np .integer ]
6799
+ ) -> Self :
6785
6800
"""
6786
6801
Make new Index with passed location(-s) deleted.
6787
6802
@@ -7227,7 +7242,9 @@ def _maybe_disable_logical_methods(self, opname: str_t) -> None:
7227
7242
raise TypeError (f"cannot perform { opname } with { type (self ).__name__ } " )
7228
7243
7229
7244
@Appender (IndexOpsMixin .argmin .__doc__ )
7230
- def argmin (self , axis = None , skipna : bool = True , * args , ** kwargs ) -> int :
7245
+ def argmin (
7246
+ self , axis : AxisInt | None = None , skipna : bool = True , * args , ** kwargs
7247
+ ) -> int :
7231
7248
nv .validate_argmin (args , kwargs )
7232
7249
nv .validate_minmax_axis (axis )
7233
7250
@@ -7240,7 +7257,9 @@ def argmin(self, axis=None, skipna: bool = True, *args, **kwargs) -> int:
7240
7257
return super ().argmin (skipna = skipna )
7241
7258
7242
7259
@Appender (IndexOpsMixin .argmax .__doc__ )
7243
- def argmax (self , axis = None , skipna : bool = True , * args , ** kwargs ) -> int :
7260
+ def argmax (
7261
+ self , axis : AxisInt | None = None , skipna : bool = True , * args , ** kwargs
7262
+ ) -> int :
7244
7263
nv .validate_argmax (args , kwargs )
7245
7264
nv .validate_minmax_axis (axis )
7246
7265
@@ -7251,7 +7270,7 @@ def argmax(self, axis=None, skipna: bool = True, *args, **kwargs) -> int:
7251
7270
raise ValueError ("Encountered all NA values" )
7252
7271
return super ().argmax (skipna = skipna )
7253
7272
7254
- def min (self , axis = None , skipna : bool = True , * args , ** kwargs ):
7273
+ def min (self , axis : AxisInt | None = None , skipna : bool = True , * args , ** kwargs ):
7255
7274
"""
7256
7275
Return the minimum value of the Index.
7257
7276
@@ -7314,7 +7333,7 @@ def min(self, axis=None, skipna: bool = True, *args, **kwargs):
7314
7333
7315
7334
return nanops .nanmin (self ._values , skipna = skipna )
7316
7335
7317
- def max (self , axis = None , skipna : bool = True , * args , ** kwargs ):
7336
+ def max (self , axis : AxisInt | None = None , skipna : bool = True , * args , ** kwargs ):
7318
7337
"""
7319
7338
Return the maximum value of the Index.
7320
7339
0 commit comments