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


Python pandas.DataFrame.swaplevel用法及代碼示例


用法:

DataFrame.swaplevel(i=- 2, j=- 1, axis=0)

MultiIndex 中交換級別 i 和 j。

默認是交換索引的兩個最內層。

參數

i, j整數或字符串

要交換的索引的級別。可以將級別名稱作為字符串傳遞。

axis{0 或 ‘index’,1 或 ‘columns’},默認 0

交換級別的軸。 0 或 ‘index’ 表示按行,1 或 ‘columns’ 表示按列。

返回

DataFrame

在 MultiIndex 中交換級別的 DataFrame。

例子

>>> df = pd.DataFrame(
...     {"Grade":["A", "B", "A", "C"]},
...     index=[
...         ["Final exam", "Final exam", "Coursework", "Coursework"],
...         ["History", "Geography", "History", "Geography"],
...         ["January", "February", "March", "April"],
...     ],
... )
>>> df
                                    Grade
Final exam  History     January      A
            Geography   February     B
Coursework  History     March        A
            Geography   April        C

在以下示例中,我們將交換索引的級別。在這裏,我們將按列交換級別,但可以以類似的方式按行交換級別。請注意,按列是默認行為。通過不為 i 和 j 提供任何參數,我們交換倒數第二個索引。

>>> df.swaplevel()
                                    Grade
Final exam  January     History         A
            February    Geography       B
Coursework  March       History         A
            April       Geography       C

通過提供一個參數,我們可以選擇與哪個索引交換最後一個索引。例如,我們可以將第一個索引與最後一個索引交換如下。

>>> df.swaplevel(0)
                                    Grade
January     History     Final exam      A
February    Geography   Final exam      B
March       History     Coursework      A
April       Geography   Coursework      C

我們還可以通過為 i 和 j 提供值來明確定義要交換的索引。在這裏,我們例如交換第一個和第二個索引。

>>> df.swaplevel(0, 1)
                                    Grade
History     Final exam  January         A
Geography   Final exam  February        B
History     Coursework  March           A
Geography   Coursework  April           C

相關用法


注:本文由純淨天空篩選整理自pandas.pydata.org大神的英文原創作品 pandas.DataFrame.swaplevel。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。