当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python Pandas DataFrame reorder_levels方法用法及代码示例


Pandas DataFrame.reorder_levels(~) 方法更改级别的顺序。

参数

1.order | list<int>list<string>

新的级别顺序。您可以通过整数索引或名称来引用级别。

2. axis | intstring | optional

是否对索引或列级别重新排序:

说明

0"index"

重新排序索引的级别。

1"columns"

重新排序列的级别。

默认情况下,axis=0

返回值

重新排序级别的新 DataFrame

例子

多索引行的重新排序级别

考虑以下具有多索引行的DataFrame:

index = [("A", "alice"), ("A", "bob"),("A", "cathy"),("B", "david"),("B", "eric")]
multi_index = pd.MultiIndex.from_tuples(index)
df = pd.DataFrame({"a":[2,3,4,5,6]}, index=multi_index)
df



            a
A   alice   2
    bob     3
    cathy   4
B   david   5
    eric    6

要交换行级别的顺序:

df.reorder_levels([1,0])



            a
alice   A   2
bob     A   3
cathy   A   4
david   B   5
eric    B   6

这里,参数 [1,0] 的含义如下:

  • 1 st 级别(在本例中为内部级别)成为外部级别。

  • 0第层(外层)成为内层。

多索引列的重新排序级别

考虑以下带有多索引列的DataFrame:

index = [("A", "alice"), ("A", "bob"),("A", "cathy"), ("B", "david"),("B", "eric")]
multi_index = pd.MultiIndex.from_tuples(index)
df = pd.DataFrame([[2,3,4,5,6]], columns=multi_index)
df



    A                     B
    alice   bob   cathy   david   eric
0   2       3     4       5       6

要交换列级别的顺序,请设置 axis=1,如下所示:

df.reorder_levels([1,0], axis=1)



    alice   bob   cathy   david   eric
    A       A     A       B       B
0   2       3     4       5       6

相关用法


注:本文由纯净天空筛选整理自Isshin Inada大神的英文原创作品 Pandas DataFrame | reorder_levels method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。