pandas.Series.swaplevel # 系列。swaplevel ( i = -2 , j = -1 , copy = None ) [来源] # 交换 a 中的 i 和 j 级MultiIndex。 默认情况下是交换索引的两个最里面的级别。 参数: i、j int 或 str要交换的指数水平。可以将级别名称作为字符串传递。 复制布尔值,默认 True是否复制底层数据。 笔记 copy关键字将改变 pandas 3.0 中的行为 。默认情况下会启用Copy-on-Write ,这意味着所有带有 copy关键字的方法都将使用惰性复制机制来推迟复制并忽略copy关键字。 copy关键字将在 pandas 的未来版本中删除。 您已经可以通过启用写入时复制来获得未来的行为和改进pd.options.mode.copy_on_write = True 返回: 系列在 MultiIndex 中交换级别的系列。 例子 >>> 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