pandas.DataFrame.sort_index #
- 数据框。sort_index ( * , axis = 0 , level = None , ascending = True , inplace = False , kind = 'quicksort' , na_position = 'last' , sort_remaining = True , ignore_index = False , key = None ) [来源] #
按标签对对象进行排序(沿轴)。
如果inplace参数为 ,则返回按标签排序的新 DataFrame
False
,否则更新原始 DataFrame 并返回 None。- 参数:
- 轴{0 或 'index', 1 或 'columns'}, 默认 0
排序所沿的轴。值 0 标识行,1 标识列。
- level int 或级别名称或整数列表或级别名称列表
如果不是“无”,则对指定索引级别中的值进行排序。
- 升序布尔值或类似布尔值的列表,默认 True
升序与降序排序。当索引是 MultiIndex 时,可以单独控制每个级别的排序方向。
- inplace布尔值,默认 False
是否修改 DataFrame 而不是创建一个新的。
- kind {'quicksort', 'mergesort', 'heapsort', 'stable'}, 默认 'quicksort'
排序算法的选择。另请参阅
numpy.sort()
了解更多信息。归并排序和稳定是唯一稳定的算法。对于 DataFrame,此选项仅在对单个列或标签进行排序时应用。- na_position {'第一个','最后一个'},默认'最后一个'
如果是第一个,则将 NaN 放在开头;最后将 NaN 放在末尾。未实现多索引。
- sort_remaining bool, 默认 True
如果为 True 并且按级别和索引排序是多级别的,则在按指定级别排序后也按其他级别排序(按顺序)。
- ignore_index bool,默认 False
如果为 True,则生成的轴将标记为 0、1、...、n - 1。
- 键可调用,可选
如果不是 None,则在排序之前将键函数应用于索引值。这与内置函数中的key参数类似
sorted()
,显着的区别是该key函数应该被向量化。它应该期望 anIndex
并返回Index
相同形状的 an。对于 MultiIndex 输入,键应用于每个 level。
- 返回:
- 数据框或无
原始 DataFrame 按标签排序或 None if
inplace=True
。
也可以看看
Series.sort_index
按索引对系列进行排序。
DataFrame.sort_values
按值对 DataFrame 进行排序。
Series.sort_values
按值对系列进行排序。
例子
>>> df = pd.DataFrame([1, 2, 3, 4, 5], index=[100, 29, 234, 1, 150], ... columns=['A']) >>> df.sort_index() A 1 4 29 2 100 1 150 5 234 3
默认情况下,它按升序排序,要按降序排序,请使用
ascending=False
>>> df.sort_index(ascending=False) A 234 3 150 5 100 1 29 2 1 4
可以指定在排序之前应用于索引的键函数。对于 a 来说,
MultiIndex
这分别应用于每个级别。>>> df = pd.DataFrame({"a": [1, 2, 3, 4]}, index=['A', 'b', 'C', 'd']) >>> df.sort_index(key=lambda x: x.str.lower()) a A 1 b 2 C 3 d 4