pandas.MultiIndex.remove_unused_levels#
- MultiIndex.remove_unused_levels()[源代码][源代码]#
从当前索引创建一个新的 MultiIndex,删除未使用的级别。
未使用的级别是指在标签中未表示的级别。生成的 MultiIndex 将具有相同的外观,即相同的 .values 和顺序。它也将与原始的 .equals() 相同。
remove_unused_levels 方法在你有一个带有层次级别的 MultiIndex,但由于过滤或子集操作,某些级别不再需要的情况下非常有用。通过移除未使用的级别,生成的 MultiIndex 变得更加紧凑和高效,这可以提高后续操作的性能。
- 返回:
- MultiIndex
一个新的 MultiIndex,删除了未使用的级别。
参见
MultiIndex.droplevel
从 MultiIndex 中移除指定的层级。
MultiIndex.reorder_levels
重新排列 MultiIndex 的层级。
MultiIndex.set_levels
在 MultiIndex 上设置新的级别。
例子
>>> mi = pd.MultiIndex.from_product([range(2), list("ab")]) >>> mi MultiIndex([(0, 'a'), (0, 'b'), (1, 'a'), (1, 'b')], )
>>> mi[2:] MultiIndex([(1, 'a'), (1, 'b')], )
第一级的0没有表示出来,可以被移除。
>>> mi2 = mi[2:].remove_unused_levels() >>> mi2.levels FrozenList([[1], ['a', 'b']])