File tree Expand file tree Collapse file tree 1 file changed +6
-5
lines changed Expand file tree Collapse file tree 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