pandas.MultiIndex.remove_unused_levels#

MultiIndex.remove_unused_levels()[源代码]#

从当前 MultiIndex 创建一个新的 MultiIndex,移除未使用的层。

未使用级别是指在标签中未表示的级别。生成的 MultiIndex 将具有相同的外观,即相同的 .values 和顺序。它也将与原始 MultiIndex .equals()。

Returns:
MultiIndex

Examples

>>> 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']])