看过来
《pandas 教程》 持续更新中,提供建议、纠错、催更等加作者微信: gairuo123(备注:pandas教程)和关注公众号「盖若」ID: gairuo。跟作者学习,请进入 Python学习课程。欢迎关注作者出版的书籍:《深入浅出Pandas》 和 《Python之光》。
pandas.DataFrame.sort_index 是一个用于根据轴标签排序 DataFrame 的方法。它可以按行索引或列索引排序,并支持多级索引的排序。
DataFrame 和 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
,则返回一个按标签排序的新 DataFrame,否则更新原始 DataFrame 并返回 None
。
参数:
axis
:{0 或 'index',1 或 'columns'},默认 0level
:整数或级别名称或整数列表或级别名称列表None
,则按指定索引级别中的值进行排序。ascending
:布尔值或布尔值列表,默认 True
inplace
:布尔值,默认 False
kind
:{'quicksort','mergesort','heapsort','stable'},默认 'quicksort'numpy.sort()
。mergesort
和 stable
是仅有的稳定算法。对于 DataFrame,此选项仅在按单个列或标签排序时应用。na_position
:{'first','last'},默认 'last'NaN
放在开头;'last' 将 NaN
放在末尾。对于 MultiIndex 未实现。sort_remaining
:布尔值,默认 True
True
并且按级别排序且索引是多级的,则在按指定级别排序后,也按其他级别(按顺序)进行排序。ignore_index
:布尔值,默认 False
True
,则结果轴将标记为 0, 1, …, n - 1。key
:可调用对象,可选None
,则在排序之前将键函数应用于索引值。这类似于内置 sorted()
函数中的键参数,显著的区别是此键函数应是向量化的。它应期望一个 Index 并返回相同形状的 Index。对于 MultiIndex 输入,键函数按每个级别应用。返回值:
DataFrame
或 None
inplace=True
则为 None
。参见:
Series.sort_index
DataFrame.sort_values
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
更新时间:2024-07-10 16:27:21 标签:pandas python index 索引