如何使用argsort()函数实现数组的升序排序
发布时间:2023-12-25 03:39:02
argsort()函数是NumPy库中的一个函数,用于返回数组的升序排列的索引。它可以用于任何NumPy数组,并通过返回一个索引数组来表示原始数组中元素的顺序。
下面是一个使用argsort()函数实现数组升序排序的例子:
import numpy as np
# 创建一个随机的一维数组
arr = np.random.randint(0, 10, size=10)
print("原始数组:", arr)
# 使用argsort()函数对数组进行升序排序
sorted_indices = np.argsort(arr)
print("排序后的索引数组:", sorted_indices)
# 使用排序后的索引数组重排原始数组,得到升序排列的数组
sorted_arr = arr[sorted_indices]
print("升序排列的数组:", sorted_arr)
在这个例子中,我们首先使用numpy.random模块的randint()函数创建一个包含10个在0到10之间的随机整数的一维数组。然后,我们使用argsort()函数找到排序后的索引数组,并将其存储在sorted_indices变量中。最后,我们使用sorted_indices数组重排原始数组,得到一个升序排列的数组,并将其存储在sorted_arr变量中。
运行上述例子输出如下:
原始数组: [5 7 1 4 1 9 3 3 0 8] 排序后的索引数组: [8 2 4 6 7 0 3 1 9 5] 升序排列的数组: [0 1 1 3 3 4 5 7 8 9]
从输出可以看出,argsort()函数返回的排序索引数组是从小到大的顺序,通过使用这个索引数组来重新排列原始数组,我们得到了一个升序排列的数组。
总结起来,使用argsort()函数可以很方便地实现数组的升序排序。
