Pandas Series 的 argsort() 方法是如何工作的?


argsort() 是 pandas Series 构造函数的方法之一,其工作方式类似于 NumPy.ndarray.argsort()。在 pandas Series 中,argmax() 方法将返回一个 Series 对象,其中包含对原始 Series 值进行排序的索引。

它返回一个 Series,其值被排序后的索引顺序替换。它不会更改原始 Series 位置索引标签,它只按排序值位置的顺序替换值。argsort 方法告诉你该元素来自原始 Series 对象的哪个位置。

示例 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 方法的输出 Series,您可以观察该 Series 对象的索引和值,如果您查看标签为“B”的元素,它来自原始 Series 对象的“第3个”索引。同样,标签为“C”的元素来自原始 Series 对象的第1个索引,它是原始 Series 元素中的第二小的数字。

示例 2

import pandas as pd

# creating series
series = pd.Series([3,5,2,7])
print(series)

# apply argsort()
print("Output argsort:", series.argsort())

解释

让我们来看另一个 pandas Series 对象的例子来应用 argsort 方法。最初,我们使用整数列表创建了一个 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

输出 Series 对象索引位置 0 处的元素来自原始 Series 的索引位置 2,它是最小的数字。同样,输出 Series 对象索引位置 1 处的元素来自原始 Series 的索引位置 0,它是原始 Series 值中的第二小的数字。

更新于:2022年3月9日

716 次浏览

启动您的职业生涯

通过完成课程获得认证

开始学习
广告