@@ -288,7 +288,7 @@ def _apply_loffset(
288
288
289
289
290
290
class Grouper :
291
- def __init__ (self , group ):
291
+ def __init__ (self , group : T_Group ):
292
292
self .group = group
293
293
self .codes = None
294
294
self .labels = None
@@ -298,21 +298,21 @@ def __init__(self, group):
298
298
self ._group_as_index = None
299
299
300
300
@property
301
- def name (self ):
301
+ def name (self ) -> Hashable :
302
302
return self .group1d .name
303
303
304
304
@property
305
- def size (self ):
305
+ def size (self ) -> int :
306
306
return len (self )
307
307
308
- def __len__ (self ):
308
+ def __len__ (self ) -> int :
309
309
return len (self .full_index )
310
310
311
311
@property
312
312
def dims (self ):
313
313
return self .group1d .dims
314
314
315
- def factorize (self , squeeze ) :
315
+ def factorize (self , squeeze : bool ) -> None :
316
316
raise NotImplementedError
317
317
318
318
@property
@@ -328,7 +328,7 @@ def group_as_index(self) -> pd.Index:
328
328
self ._group_as_index = safe_cast_to_index (self .group1d )
329
329
return self ._group_as_index
330
330
331
- def _resolve_group (self , obj ):
331
+ def _resolve_group (self , obj ) -> None :
332
332
from xarray .core .dataarray import DataArray
333
333
334
334
group = self .group
@@ -369,14 +369,14 @@ def _resolve_group(self, obj):
369
369
370
370
371
371
class UniqueGrouper (Grouper ):
372
- def factorize (self , squeeze ):
372
+ def factorize (self , squeeze ) -> None :
373
373
is_dimension = self .group .dims == (self .group .name ,)
374
374
if is_dimension and self .is_unique_and_monotonic :
375
375
self ._factorize_dummy (squeeze )
376
376
else :
377
377
self ._factorize_unique ()
378
378
379
- def _factorize_unique (self ):
379
+ def _factorize_unique (self ) -> None :
380
380
# look through group to find the unique values
381
381
sort = not isinstance (self .group_as_index , pd .MultiIndex )
382
382
unique_values , group_indices , codes = unique_value_groups (
@@ -393,7 +393,7 @@ def _factorize_unique(self):
393
393
self .group_indices = group_indices
394
394
self .full_index = self .unique_coord
395
395
396
- def _factorize_dummy (self , squeeze ):
396
+ def _factorize_dummy (self , squeeze ) -> None :
397
397
size = self .group .size
398
398
# no need to factorize
399
399
if not squeeze :
@@ -423,7 +423,7 @@ def __init__(self, group, bins, cut_kwargs):
423
423
self .bins = bins
424
424
self .cut_kwargs = cut_kwargs
425
425
426
- def factorize (self , squeeze ) :
426
+ def factorize (self , squeeze : bool ) -> None :
427
427
from xarray .core .dataarray import DataArray
428
428
429
429
data = self .group1d .values
@@ -526,13 +526,7 @@ def first_items(self):
526
526
_apply_loffset (self .loffset , first_items )
527
527
return first_items , codes
528
528
529
- def factorize (
530
- self , squeeze
531
- ) -> tuple [
532
- DataArray | IndexVariable | _DummyGroup ,
533
- list [slice ] | list [list [int ]] | np .ndarray ,
534
- np .ndarray ,
535
- ]:
529
+ def factorize (self , squeeze : bool ) -> None :
536
530
self .full_index , first_items , codes = self ._get_index_and_items ()
537
531
sbins = first_items .values .astype (np .int64 )
538
532
self .group_indices = [slice (i , j ) for i , j in zip (sbins [:- 1 ], sbins [1 :])] + [
0 commit comments