pandas.MultiIndex.reorder_levels#

MultiIndex.reorder_levels(order)[source]#

使用输入的顺序重新排列级别。不能删除或复制级别。

reorder_levels 在您需要更改 MultiIndex 中级别的顺序时很有用,例如在重新排列层次索引的级别时。它保持 MultiIndex 的完整性,确保所有现有级别都存在且没有级别被复制。此方法有助于将索引结构与其他数据结构对齐,或为特定数据操作优化顺序。

参数:
orderint 列表或 str 列表

表示新级别顺序的列表。通过数字(位置)或键(标签)引用级别。

返回:
MultiIndex

一个具有按照指定顺序重新排列的级别的新的 MultiIndex。

另请参阅

MultiIndex.swaplevel

交换 MultiIndex 的两个级别。

MultiIndex.set_names

为 MultiIndex 级别设置名称。

DataFrame.reorder_levels

重新排列具有 MultiIndex 的 DataFrame 中的级别。

示例

>>> mi = pd.MultiIndex.from_arrays([[1, 2], [3, 4]], names=["x", "y"])
>>> mi
MultiIndex([(1, 3),
            (2, 4)],
           names=['x', 'y'])
>>> mi.reorder_levels(order=[1, 0])
MultiIndex([(3, 1),
            (4, 2)],
           names=['y', 'x'])
>>> mi.reorder_levels(order=["y", "x"])
MultiIndex([(3, 1),
            (4, 2)],
           names=['y', 'x'])