📜  Python中的 numpy.argsort()(1)

📅  最后修改于: 2023-12-03 15:19:25.396000             🧑  作者: Mango

Python中的 numpy.argsort()

numpy.argsort() 是用于对数组进行排序的函数,它返回输入数组排序后的索引数组。默认情况下,这个函数按照升序排列。

语法
numpy.argsort(arr, axis=-1, kind=None, order=None)
参数说明
  • arr:要排序的数组。
  • axis:沿着它排序数组的轴,如果没有指定,则默认为最后一维。
  • kind:排序算法。
  • order:如果数组包含字段,则是要排序的字段。
返回值

返回输入数组排序后的索引数组。

示例
import numpy as np

arr = np.array([9, 3, 1, 7, 4, 8, 6, 2, 5])
print(np.argsort(arr))

输出结果:

[2 7 1 4 8 6 3 5 0]
解释

在上面的示例中,我们首先创建了一个包含 9 个元素的 numpy 数组,并打印出该数组排序后的索引数组。从输出结果中可以看出,排序后的数组为 [1, 2, 3, 4, 5, 6, 7, 8, 9],对应的索引数组为 [2, 7, 1, 4, 8, 6, 3, 5, 0]

注意事项
  • 当使用 numpy.argsort() 时,务必注意数组的维度问题。如果你的数组是多维的,那么要想按其中某一个维度排序,就需要在调用 numpy.argsort() 函数时指定 axis 参数的值。
  • 另外,在进行排序操作时,kind 参数可以指定排序算法的类型,默认为 quicksort。而 order 参数通常用于排序包含字段的结构化数组。