當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。