📜  Python numpy.argsort()(1)

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

Python numpy.argsort()

numpy.argsort()是一个Numpy库函数,可以返回一个数组的索引值,该数组值按照升序排列。它接受一个数组作为参数并返回一个按索引排序的数组。

语法
numpy.argsort(arr, axis=-1, kind=None, order=None)
参数
  • arr:要排序的数组
  • axis:排序的轴,默认为-1。 如果为None,则排序为扁平数组
  • kind:排序算法,可取值为'quicksort', 'mergesort', 'heapsort'。 默认为'quicksort'
  • order:在排序期间应应用的字段名称。 该字段名称用于公共结构或公共机制的情况。
返回值

返回按索引排序的数组。

示例
例1:排序一维数组
import numpy as np

arr = np.array([10, 20, 5, 15, 25])
sort_indices = np.argsort(arr)
print(sort_indices)

输出:

[2 0 3 1 4]

上面的代码将按索引排序的数组打印出来。 在这种情况下,数组的最小值是5(索引2),其次是10(索引0),然后是15(索引3),20(索引1)和25(索引4)。

例2:排序二维数组
import numpy as np

arr = np.array([[5, 15, 10], 
               [20, 25, 30], 
               [35, 30, 40]])
sort_indices = np.argsort(arr, axis=0)
print(sort_indices)

输出:

[[0 0 0]
 [1 2 1]
 [2 1 2]]

这个例子将一个包含相同数字的二维数组传递给numpy.argsort()方法。 它按列排序数组,然后返回按索引排序的结果数组。

结论

通过numpy.argsort()函数,我们可以快速高效地对数组进行排序并返回索引。 它对于在科学计算和数据分析中对数据进行排序非常有用。