@@ -447,7 +447,7 @@ def remove_unused_levels(self):
447447 The level removal is done inplace.
448448 """
449449 _used = sorted (np .unique (self ._codes ))
450- new_levels = self .levels .take (_used )
450+ new_levels = self .levels .take (com . _ensure_platform_int ( _used ) )
451451 new_levels = _ensure_index (new_levels )
452452 self ._codes = _get_codes_for_values (self .__array__ (), new_levels )
453453 self ._levels = new_levels
@@ -1068,16 +1068,16 @@ def describe(self):
10681068 check = result .index == - 1
10691069 if check .any ():
10701070 # Sort -1 (=NaN) to the last position
1071- index = np .arange (0 , len (self .levels )+ 1 )
1071+ index = np .arange (0 , len (self .levels )+ 1 , dtype = 'int64' )
10721072 index [- 1 ] = - 1
10731073 result = result .reindex (index )
10741074 # build new index
10751075 levels = np .arange (0 ,len (self .levels )+ 1 ,dtype = object )
10761076 levels [:- 1 ] = self .levels
10771077 levels [- 1 ] = np .nan
1078- result .index = levels .take (result .index )
1078+ result .index = levels .take (com . _ensure_platform_int ( result .index ) )
10791079 else :
1080- result .index = self .levels .take (result .index )
1080+ result .index = self .levels .take (com . _ensure_platform_int ( result .index ) )
10811081 result = result .reindex (self .levels )
10821082 result .index .name = 'levels'
10831083
0 commit comments