pandas.Series.swaplevel#
- Series.swaplevel(i=-2, j=-1, copy=<no_default>)[源代码][源代码]#
在
MultiIndex
中交换级别 i 和 j。默认是交换索引的两个最内层级别。
- 参数:
- i, jint 或 str
要交换的索引级别。可以传递级别名称作为字符串。
- 复制布尔值, 默认为 True
是否复制底层数据。
备注
copy 关键字将在 pandas 3.0 中更改行为。写时复制 将默认启用,这意味着所有带有 copy 关键字的方法将使用延迟复制机制来推迟复制并忽略 copy 关键字。copy 关键字将在 pandas 的未来版本中被移除。
通过启用写时复制
pd.options.mode.copy_on_write = True
,您已经可以获得未来的行为和改进。
- 返回:
- 系列
在 MultiIndex 中交换级别的系列。
参见
DataFrame.swaplevel
在
DataFrame
中交换 i 和 j 级别。Series.reorder_levels
使用输入顺序重新排列索引级别。
MultiIndex.swaplevel
在
MultiIndex
中交换级别 i 和 j。
例子
>>> 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