pandas.MultiIndex.sortlevel#
- MultiIndex.sortlevel(level=0, ascending=True, sort_remaining=True, na_position='first')[源代码][源代码]#
在请求的级别对 MultiIndex 进行排序。
这种方法在处理 MultiIndex 对象时非常有用,允许在索引的特定级别进行排序。该函数在排序整个 MultiIndex 的同时保留同一级别内数据的相对顺序。该方法通过 ascending 参数提供灵活性来定义排序顺序,并通过 sort_remaining 参数控制是否也应排序剩余级别。在对需要有序索引的操作(如分组或合并数据集)进行排序时,排序 MultiIndex 可能至关重要。na_position 参数在不同级别一致处理缺失值时非常重要。
- 参数:
- 级别类似列表的, int 或 str, 默认值为 0
如果给定一个字符串,必须是级别的名称。如果类似列表,则必须是级别名称或整数。
- 升序bool, 默认为 True
False 表示按降序排序。也可以是一个列表来指定一个定向排序。
- sort_remainingbool, 默认为 True
如果为真,则在按指定 level 排序后,按剩余级别排序。
- na_position{‘first’ or ‘last’}, 默认 ‘first’
参数 ‘first’ 将 NaN 放在开头,’last’ 将 NaN 放在末尾。
Added in version 2.1.0.
- 返回:
- sorted_indexpd.MultiIndex
生成的索引。
- 索引器np.ndarray[np.intp]
原始索引中输出值的索引。
参见
MultiIndex
一个用于 pandas 对象的多级或层次索引对象。
Index.sort_values
排序索引值。
DataFrame.sort_index
按索引排序 DataFrame。
Series.sort_index
按索引对系列进行排序。
示例
>>> mi = pd.MultiIndex.from_arrays([[0, 0], [2, 1]]) >>> mi MultiIndex([(0, 2), (0, 1)], )
>>> mi.sortlevel() (MultiIndex([(0, 1), (0, 2)], ), array([1, 0]))
>>> mi.sortlevel(sort_remaining=False) (MultiIndex([(0, 2), (0, 1)], ), array([0, 1]))
>>> mi.sortlevel(1) (MultiIndex([(0, 1), (0, 2)], ), array([1, 0]))
>>> mi.sortlevel(1, ascending=False) (MultiIndex([(0, 2), (0, 1)], ), array([0, 1]))