pandas.DataFrame.sort_index#

DataFrame.sort_index(axis=0, level=None, ascending=True, inplace=False, kind='quicksort', na_position='last', sort_remaining=True, ignore_index=False, key=None)[源代码]#

按标签(沿轴)对对象进行排序。

如果是,则返回按标签排序的新DataFrame inplace 论据是 False ,否则更新原始DataFrame并返回None。

参数
axis{0或‘index’,1或‘Columns’},默认为0

排序所依据的轴。值0标识行,值1标识列。

levelINT或级别名称或INT列表或级别名称列表

如果不是无,则对指定索引级别中的值进行排序。

ascending布尔型或类似列表型布尔型,默认为True

升序和降序排序。当索引为多索引时,可以单独控制每个级别的排序方向。

inplace布尔值,默认为False

如果为True,则就地执行操作。

kind{‘快速排序’,‘合并排序’,‘堆排序’,‘稳定’},默认‘快速排序’

排序算法的选择。另请参阅 numpy.sort() 了解更多信息。 mergesortstable 是唯一稳定的算法。对于DataFrames,此选项仅在对单个列或标签进行排序时应用。

na_position{‘First’,‘Last’},默认为‘Last’

在以下情况下将NAS放在开头 firstlast 把Nans放在末尾。未为多索引实现。

sort_remaining布尔值,默认为True

如果为True且按级别和索引排序为多级,则在按指定级别排序后也按其他级别排序(按顺序)。

ignore_index布尔值,默认为False

如果为True,则生成的轴将标记为0,1,…,n-1。

1.0.0 新版功能.

key可调用,可选

如果不是无,则在排序前将键函数应用于索引值。这类似于 key 建筑中的参数 sorted() 函数,但显著不同的是,这 key 函数应为 矢量化 。它应该期待一个 Index 并返回一个 Index 同样的形状。对于多索引输入,将应用该键 每一级

1.1.0 新版功能.

退货
DataFrame或无

按标签排序的原始DataFrame,如果 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

可以指定在排序前应用于索引的键函数。为. 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