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


Python pandas.Series.sort_index用法及代码示例


用法:

Series.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 ,则返回按标签排序的新系列,否则更新原始系列并返回无。

参数

axis整数,默认 0

轴直接排序。对于系列,这只能是 0。

level整数,可选

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

ascendingbool 或 list-like of bools,默认 True

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

inplace布尔值,默认为 False

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

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

排序算法的选择。另请参阅numpy.sort() 了解更多信息。 ‘mergesort’ and ‘stable’ 是唯一稳定的算法。对于 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 函数应用于索引值。这与内置sorted() 函数中的key 参数类似,但显著的区别是该key 函数应该被矢量化。它应该期望 Index 并返回相同形状的 Index

返回

系列或无

原始系列按标签排序,如果 inplace=True 则为无。

例子

>>> s = pd.Series(['a', 'b', 'c', 'd'], index=[3, 2, 1, 4])
>>> s.sort_index()
1    c
2    b
3    a
4    d
dtype:object

降序排序

>>> s.sort_index(ascending=False)
4    d
3    a
2    b
1    c
dtype:object

就地排序

>>> s.sort_index(inplace=True)
>>> s
1    c
2    b
3    a
4    d
dtype:object

默认情况下,NaN 放在最后,但使用 na_position 将它们放在开头

>>> s = pd.Series(['a', 'b', 'c', 'd'], index=[3, 2, 1, np.nan])
>>> s.sort_index(na_position='first')
NaN     d
 1.0    c
 2.0    b
 3.0    a
dtype:object

指定要排序的索引级别

>>> arrays = [np.array(['qux', 'qux', 'foo', 'foo',
...                     'baz', 'baz', 'bar', 'bar']),
...           np.array(['two', 'one', 'two', 'one',
...                     'two', 'one', 'two', 'one'])]
>>> s = pd.Series([1, 2, 3, 4, 5, 6, 7, 8], index=arrays)
>>> s.sort_index(level=1)
bar  one    8
baz  one    6
foo  one    4
qux  one    2
bar  two    7
baz  two    5
foo  two    3
qux  two    1
dtype:int64

按级别排序时不按剩余级别排序

>>> s.sort_index(level=1, sort_remaining=False)
qux  one    2
foo  one    4
baz  one    6
bar  one    8
qux  two    1
foo  two    3
baz  two    5
bar  two    7
dtype:int64

排序前应用关键函数

>>> s = pd.Series([1, 2, 3, 4], index=['A', 'b', 'C', 'd'])
>>> s.sort_index(key=lambda x:x.str.lower())
A    1
b    2
C    3
d    4
dtype:int64

相关用法


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