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


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


Pandas DataFrame.swaplevel(~) 方法交换多索引 DataFrame 的两个级别。

参数

1.i | intstring

要交换的级别。您可以通过整数索引或名称来引用级别。

2. j | intstring

要交换的另一个级别。

3. axis | intstring | optional

是否交换索引或列的级别:

说明

0"index"

index的互换水平。

1"columns"

交换列的级别。

默认情况下,axis=0

返回值

交换了一对级别的新 DataFrame

例子

交换一对index水平

考虑以下多索引 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.swaplevel(0,1)



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

在这里,我们将最内层 (1) 与最外层 (0) 交换。

交换一对列级别

考虑以下 multi-level 列 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.swaplevel(1, 0, axis=1)



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

相关用法


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