pandas 系列 argsort 如何工作?
pandasserver side programmingprogramming更新于 2025/5/18 10:22:17
argsort() 是 pandas 系列构造函数的方法之一,其工作原理类似于 NumPy.ndarray.argsort()。在 pandas 系列中,argmax() 方法将返回一个系列对象,其中包含将对原始系列值进行排序的索引。
它返回一个系列,其中的值由按索引排序的顺序替换。并且它不会更改原始系列位置索引标签,它只会按排序值位置的顺序替换值。 argsort 方法会告诉您该元素来自原始系列对象的位置。
示例 1
import pandas as pd
# 创建系列
s = pd.Series({'A':123,'B':458,"C":556, "D": 238})
print(s)
# 应用 argsort()
print("Output argsort:",s.argsort())
解释
在下面的示例中,我们使用 Python 字典创建了一个系列,索引将由字典的键标记。然后,我们对系列数据应用了 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"处的元素来自原始系列对象的第一个索引,它是原始系列元素中第二小的数字。
示例 2
import pandas as pd
# 创建系列
series = pd.Series([3,5,2,7])
print(series)
# 应用 argsort()
print("Output argsort:", series.argsort())
解释
让我们再举一个 pandas 系列对象的例子来应用 argsort 方法。首先,我们创建了一个带有整数值列表的 pandas 系列对象,然后对该数据应用了 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 个索引位置,并且是原始系列值中第二小的数字。

