@@ -447,7 +447,7 @@ def remove_unused_levels(self):
447
447
The level removal is done inplace.
448
448
"""
449
449
_used = sorted (np .unique (self ._codes ))
450
- new_levels = self .levels .take (_used )
450
+ new_levels = self .levels .take (com . _ensure_platform_int ( _used ) )
451
451
new_levels = _ensure_index (new_levels )
452
452
self ._codes = _get_codes_for_values (self .__array__ (), new_levels )
453
453
self ._levels = new_levels
@@ -1068,16 +1068,16 @@ def describe(self):
1068
1068
check = result .index == - 1
1069
1069
if check .any ():
1070
1070
# 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' )
1072
1072
index [- 1 ] = - 1
1073
1073
result = result .reindex (index )
1074
1074
# build new index
1075
1075
levels = np .arange (0 ,len (self .levels )+ 1 ,dtype = object )
1076
1076
levels [:- 1 ] = self .levels
1077
1077
levels [- 1 ] = np .nan
1078
- result .index = levels .take (result .index )
1078
+ result .index = levels .take (com . _ensure_platform_int ( result .index ) )
1079
1079
else :
1080
- result .index = self .levels .take (result .index )
1080
+ result .index = self .levels .take (com . _ensure_platform_int ( result .index ) )
1081
1081
result = result .reindex (self .levels )
1082
1082
result .index .name = 'levels'
1083
1083
0 commit comments