pandas.Series.swaplevel#

Series.swaplevel(i=- 2, j=- 1, copy=True)[源代码]#

中交换级别i和j。 MultiIndex

默认情况下,调换指数最里面的两个级别。

参数
i, j整型或字符串

要交换的索引的级别。可以将级别名称作为字符串传递。

copy布尔值,默认为True

是否复制底层数据。

退货
系列

在多索引中交换了级别的系列。

示例

>>> s = pd.Series(
...     ["A", "B", "A", "C"],
...     index=[
...         ["Final exam", "Final exam", "Coursework", "Coursework"],
...         ["History", "Geography", "History", "Geography"],
...         ["January", "February", "March", "April"],
...     ],
... )
>>> s
Final exam  History     January      A
            Geography   February     B
Coursework  History     March        A
            Geography   April        C
dtype: object

在下面的示例中,我们将交换指数的级别。在这里,我们将按列交换级别,但也可以以类似的方式按行交换级别。请注意,按列排列是默认行为。通过不为i和j提供任何参数,我们交换了最后一个索引和倒数第二个索引。

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

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

>>> s.swaplevel(0)
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)
History     Final exam  January         A
Geography   Final exam  February        B
History     Coursework  March           A
Geography   Coursework  April           C
dtype: object