Pandas是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。Pandas提供了大量能使我们快速便捷地处理数据的函数和方法。你很快就会发现,它是使Python成为强大而高效的数据分析环境的重要因素之一。本文主要介绍一下Pandas中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) [source]

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

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

参数:

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

排序的轴(axis)。值0表示行,1表示列。

level :int 或 level name 或 ints的list 或 level names的list

如果不为None,则按指定索引级别的值排序。

ascending bool 或 bools的list, 默认为 True

升序和降序排序。当索引是多索引时,

排序方向可以为每个级别单独控制。

inplace bool, 默认为 False

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

kind {‘quicksort’, ‘mergesort’, ‘heapsort’},

 默认为 ‘quicksort’

选择排序算法。有关更多信息,

请参见ndarray.np.sort。 mergesort是唯一稳定的算法。

对于DataFrames,仅在对单个列或标签进行排序时才应用此选项。

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

如果首先将NaN放在开头; 最后将NaN放在最后。

未针对MultiIndex实施。

sort_remaining bool,默认为True

如果为True且按级别和索引排序是多层的,

则在按指定级别排序后也按其他级别(按顺序)排序。

ignore_index bool, 默认为 False

如果为True,则结果轴将标记为0、1,...,n-1

1.0.0版的新功能。

keycallable, 可选的

如果不是None,则在排序之前将key函数应用于索引值。

这类似于内建函数中的key参数sorted()

但值得注意的区别是此key函数应被向量化。

它应期望 Index并返回具有相同形状的Index

对于MultiIndex输入,将按级别应用key

1.1.0版中的新功能。

返回值:

DataFrame

原始DataFrame按标签排序。

例子

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

推荐文档

相关文档

大家感兴趣的内容

随机列表