pandas.DataFrame.reorder_levels#

DataFrame.reorder_levels(order, axis=0)[源代码][源代码]#

使用输入 order 重新排列索引或列级别。

不得删除或重复级别。

参数:
顺序int 列表或 str 列表

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

{0 或 ‘index’, 1 或 ‘columns’},默认 0

在哪里重新排序级别。

返回:
DataFrame

带有重新排序级别的索引或列的DataFrame。

参见

DataFrame.swaplevel

在 MultiIndex 中交换级别 i 和 j。

示例

>>> data = {
...     "class": ["Mammals", "Mammals", "Reptiles"],
...     "diet": ["Omnivore", "Carnivore", "Carnivore"],
...     "species": ["Humans", "Dogs", "Snakes"],
... }
>>> df = pd.DataFrame(data, columns=["class", "diet", "species"])
>>> df = df.set_index(["class", "diet"])
>>> df
                                  species
class      diet
Mammals    Omnivore                Humans
           Carnivore                 Dogs
Reptiles   Carnivore               Snakes

让我们重新排序索引的级别:

>>> df.reorder_levels(["diet", "class"])
                                  species
diet      class
Omnivore  Mammals                  Humans
Carnivore Mammals                    Dogs
          Reptiles                 Snakes