maxframe.dataframe.Series.swaplevel#

Series.swaplevel(i=-2, j=-1)#

交换 MultiIndex 中的层级 i 和 j。

默认交换索引中最内层的两个层级。

参数:
  • i (int or str) -- 要交换的索引层级。可以传递层级名称作为字符串。

  • j (int or str) -- 要交换的索引层级。可以传递层级名称作为字符串。

返回:

在 MultiIndex 中交换层级后的 Series。

返回类型:

Series

示例

>>> import maxframe.dataframe as md
>>> s = md.Series(
...     ["A", "B", "A", "C"],
...     index=[
...         ["Final exam", "Final exam", "Coursework", "Coursework"],
...         ["History", "Geography", "History", "Geography"],
...         ["January", "February", "March", "April"],
...     ],
... )
>>> s.execute()
Final exam  History     January      A
            Geography   February     B
Coursework  History     March        A
            Geography   April        C
dtype: object

在以下示例中,我们将交换索引的层级。这里我们按列交换层级,但也可以按行以类似方式交换。注意,默认行为是按列交换。如果不提供 i 和 j 的参数,我们将交换最后两个层级。

>>> s.swaplevel().execute()
Final exam  January     History         A
            February    Geography       B
Coursework  March       History         A
            April       Geography       C
dtype: object

通过提供一个参数,我们可以选择将最后一个索引与哪个索引交换。例如,我们可以将第一个索引与最后一个索引交换如下。

>>> s.swaplevel(0).execute()
January     History     Final exam      A
February    Geography   Final exam      B
March       History     Coursework      A
April       Geography   Coursework      C
dtype: object

我们还可以通过为 i 和 j 提供值来明确定义要交换的索引。例如,这里我们交换第一和第二层级。

>>> s.swaplevel(0, 1).execute()
History     Final exam  January         A
Geography   Final exam  February        B
History     Coursework  March           A
Geography   Coursework  April           C
dtype: object