66
77from  typing  import  (
88    TYPE_CHECKING ,
9-     Any ,
109    Hashable ,
1110    Iterator ,
11+     cast ,
1212    final ,
1313)
1414
@@ -286,7 +286,7 @@ def ax(self) -> Index:
286286
287287    def  _get_grouper (
288288        self , obj : NDFrameT , validate : bool  =  True 
289-     ) ->  tuple [Any ,  ops .BaseGrouper , NDFrameT ]:
289+     ) ->  tuple [ops .BaseGrouper , NDFrameT ]:
290290        """ 
291291        Parameters 
292292        ---------- 
@@ -296,15 +296,11 @@ def _get_grouper(
296296
297297        Returns 
298298        ------- 
299-         a tuple of binner,  grouper, obj (possibly sorted) 
299+         a tuple of grouper, obj (possibly sorted) 
300300        """ 
301301        self ._set_grouper (obj )
302-         # error: Value of type variable "NDFrameT" of "get_grouper" cannot be 
303-         # "Optional[Any]" 
304-         # error: Incompatible types in assignment (expression has type "BaseGrouper", 
305-         # variable has type "None") 
306-         self .grouper , _ , self .obj  =  get_grouper (  # type: ignore[type-var,assignment] 
307-             self .obj ,
302+         grouper , _ , obj  =  get_grouper (
303+             cast (NDFrameT , self .obj ),
308304            [self .key ],
309305            axis = self .axis ,
310306            level = self .level ,
@@ -313,9 +309,7 @@ def _get_grouper(
313309            dropna = self .dropna ,
314310        )
315311
316-         # error: Incompatible return value type (got "Tuple[None, None, None]", 
317-         # expected "Tuple[Any, BaseGrouper, NDFrameT]") 
318-         return  self .binner , self .grouper , self .obj   # type: ignore[return-value] 
312+         return  grouper , obj 
319313
320314    @final  
321315    def  _set_grouper (self , obj : NDFrame , sort : bool  =  False ) ->  None :
@@ -506,7 +500,7 @@ def __init__(
506500            # check again as we have by this point converted these 
507501            # to an actual value (rather than a pd.Grouper) 
508502            assert  self .obj  is  not None   # for mypy 
509-             _ ,  newgrouper , newobj  =  self .grouping_vector ._get_grouper (
503+             newgrouper , newobj  =  self .grouping_vector ._get_grouper (
510504                self .obj , validate = False 
511505            )
512506            self .obj  =  newobj 
@@ -814,7 +808,7 @@ def get_grouper(
814808
815809    # a passed-in Grouper, directly convert 
816810    if  isinstance (key , Grouper ):
817-         binner ,  grouper , obj  =  key ._get_grouper (obj , validate = False )
811+         grouper , obj  =  key ._get_grouper (obj , validate = False )
818812        if  key .key  is  None :
819813            return  grouper , frozenset (), obj 
820814        else :
0 commit comments