当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python 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)

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

如果 inplace 参数为 False ,则返回按标签排序的新 DataFrame,否则更新原始 DataFrame 并返回 None。

参数

axis{0 或 ‘index’,1 或 ‘columns’},默认 0

要排序的轴。值 0 标识行,1 标识列。

level整数或级别名称或整数列表或级别名称列表

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

ascendingbool 或 list-like of bools,默认 True

升序与降序排序。当索引是 MultiIndex 时,可以单独控制每个级别的排序方向。

inplace布尔值,默认为 False

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

kind{‘quicksort’, ‘mergesort’, ‘heapsort’, ‘stable’},默认 ‘quicksort’

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

na_position{‘first’, ‘last’},默认 ‘last’

如果 first 则将 NaN 放在开头; last 将 NaN 放在最后。未针对 MultiIndex 实施。

sort_remaining布尔值,默认为真

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

ignore_index布尔值,默认为 False

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

key可调用的,可选的

如果不是 None,则在排序之前将 key 函数应用于索引值。这类似于key内置参数sorted()函数,显著的区别在于key函数应该向量化。它应该期待一个Index并返回一个Index相同的形状。对于 MultiIndex 输入,应用键每级.

返回

DataFrame 或无

按标签排序的原始 DataFrame 或 None 如果 inplace=True

例子

>>> 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

相关用法


注:本文由纯净天空筛选整理自pandas.pydata.org大神的英文原创作品 pandas.DataFrame.sort_index。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。