📅  最后修改于: 2023-12-03 14:46:22.867000             🧑  作者: Mango
argsort()
方法是 Pandas Series 对象的一个方法,用于返回按升序排序的元素索引值。该方法返回的是一个由索引值组成的新的数组,而不是原始 Series 对象。
Series.argsort(axis=0, kind=None, order=None)
参数说明:
axis
:默认为 0,表示按行排序,1 表示按列排序;kind
:默认为 quicksort
,表示使用快速排序算法,也可以使用 mergesort
或 heapsort
;order
:指定排序方式,仅适用于有多个列的 DataFrame。返回一个由升序排列的索引值组成的数组。
下面是一个使用 argsort()
方法的示例代码:
import pandas as pd
# 构造一个 Pandas Series
s = pd.Series([3, 2, 4, 1])
# 执行 argsort() 方法
sort_index = s.argsort()
print(sort_index)
输出结果为:
0 3
1 1
2 0
3 2
dtype: int64
注意到输出结果是一个新的 Series,它的值是原始 Series 中所对应的索引值。根据元素值从小到大排序的索引值数组如下:
[3, 1, 0, 2]
这个数组与原始 Series 中的值数组 [3, 2, 4, 1]
对应,即通过排序得到的新的索引值数组,其元素值所对应的源数组中的元素值是递增的。
argsort()
方法返回的数组是一个 NumPy 数组,而不是 Pandas Series 对象;iloc[]
方法,如 s.iloc[sort_index]
。argsort()
方法的底层实现使用了快速排序算法。