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


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。