File tree 1 file changed +6
-5
lines changed
1 file changed +6
-5
lines changed Original file line number Diff line number Diff line change @@ -1240,20 +1240,21 @@ def remove_unused_levels(self):
1240
1240
new_levels = []
1241
1241
new_labels = []
1242
1242
1243
- changed = np .zeros (self .nlevels , dtype = bool )
1243
+ changed = np .ones (self .nlevels , dtype = bool )
1244
1244
for i , (lev , lab ) in enumerate (zip (self .levels , self .labels )):
1245
1245
1246
- uniques = np . sort ( algos .unique (lab ) )
1246
+ uniques = algos .unique (lab )
1247
1247
1248
1248
# nothing unused
1249
1249
if len (uniques ) == len (lev ):
1250
1250
new_levels .append (lev )
1251
1251
new_labels .append (lab )
1252
- changed [i ] = True
1252
+ changed [i ] = False
1253
1253
continue
1254
1254
1255
- unused = list (reversed (sorted (set (
1256
- np .arange (len (lev ))) - set (uniques ))))
1255
+ # set difference, then reverse sort
1256
+ diff = Index (np .arange (len (lev ))).difference (uniques )
1257
+ unused = diff .sort_values (ascending = False )
1257
1258
1258
1259
# new levels are simple
1259
1260
lev = lev .take (uniques )
You can’t perform that action at this time.
0 commit comments