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 个索引位置,并且是原始系列值中第二小的数字。


相关文章