Pandas 系列的argsort方法如何工作
argsort()是pandas系列构造函数的方法之一,它的工作方式类似于NumPy.ndarray.argsort()。在pandas series中,argmax()方法将返回一个带有索引的series对象,这些索引将对原始系列值进行排序。
它返回一个由索引排序顺序替换的系列。它不会改变原始系列位置索引标签,它只通过排序值位置的顺序替换值。argsort方法告诉您该元素来自原始系列对象的位置。
示例1
import pandas as pd
# creating series
s = pd.Series({'A':123,'B':458,"C":556, "D": 238})
print(s)
# apply argsort()
print("Output argsort:",s.argsort())
解释
在以下示例中,我们使用Python字典创建了一个Series,并且索引通过字典的键来标记。然后,我们对Series数据应用了argsort()方法。
输出
A 123
B 458
C 556
D 238
dtype: int64
Output argsort:
A 0
B 3
C 1
D 2
dtype: int64
在上面的输出块中,我们可以看到argsort方法的输出系列,如果您看到标签“B”处的元素来自原始系列对象的“第3”索引,则可以观察到该系列对象的索引和值。以同样的方式,标签“C”处的元素来自原始系列对象的第1个索引,它是原始系列元素中第二小的数字。
示例2
import pandas as pd
# creating series
series = pd.Series([3,5,2,7])
print(series)
# apply argsort()
print("Output argsort:", series.argsort())
解释
让我们再举一个示例,使用argsort方法应用于一个pandas series对象。最初,我们创建了一个包含整数值列表的pandas series对象,然后在该数据上应用了argsort方法。
输出
0 3
1 5
2 2
3 7
dtype: int64
Output argsort:
0 2
1 0
2 1
3 3
dtype: int64
输出系列对象中索引位置为0的元素来自原始系列的第2个索引位置,它是最小的数字。同样,输出系列对象中索引位置为1的元素来自原始系列的第0个索引位置,它是原始系列值中第二小的数字。