pandas.MultiIndex.swaplevel#
- MultiIndex.swaplevel(i=-2, j=-1)[source]#
交换级别 i 和级别 j。
调用此方法不会改变值的顺序。
默认是交换 MultiIndex 的最后两个级别。
- 参数:
- iint, str, 默认 -2
要交换的第一个索引级别。可以传递级别名称作为字符串。参数的类型可以混合。如果 i 是负整数,则第一个级别相对于 MultiIndex 的末尾进行索引。
- jint, str, 默认 -1
要交换的第二个索引级别。可以传递级别名称作为字符串。参数的类型可以混合。如果 j 是负整数,则第二个级别相对于 MultiIndex 的末尾进行索引。
- 返回:
- MultiIndex
一个新的 MultiIndex。
另请参阅
Series.swaplevel在 MultiIndex 中交换级别 i 和 j。
DataFrame.swaplevel在特定轴的 MultiIndex 中交换级别 i 和 j。
示例
>>> mi = pd.MultiIndex( ... levels=[["a", "b"], ["bb", "aa"], ["aaa", "bbb"]], ... codes=[[0, 0, 1, 1], [0, 1, 0, 1], [1, 0, 1, 0]], ... ) >>> mi MultiIndex([('a', 'bb', 'bbb'), ('a', 'aa', 'aaa'), ('b', 'bb', 'bbb'), ('b', 'aa', 'aaa')], ) >>> mi.swaplevel() MultiIndex([('a', 'bbb', 'bb'), ('a', 'aaa', 'aa'), ('b', 'bbb', 'bb'), ('b', 'aaa', 'aa')], ) >>> mi.swaplevel(0) MultiIndex([('bbb', 'bb', 'a'), ('aaa', 'aa', 'a'), ('bbb', 'bb', 'b'), ('aaa', 'aa', 'b')], ) >>> mi.swaplevel(0, 1) MultiIndex([('bb', 'a', 'bbb'), ('aa', 'a', 'aaa'), ('bb', 'b', 'bbb'), ('aa', 'b', 'aaa')], )