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函数应该被向量化。它应该期望 an Index并返回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