首页 > 代码库 > python中argsort的使用
python中argsort的使用
argsort是模块numpy中的函数,用于将数组里的元素进行排序。注意这个地方返回的是索引
argsort(a, axis=-1, kind=‘quicksort‘, order=None)
Parameters
----------
a : array_like
Array to sort.
axis : int or None, optional
Axis along which to sort. The default is -1 (the last axis). If None,
the flattened array is used.
kind : {‘quicksort‘, ‘mergesort‘, ‘heapsort‘}, optional
Sorting algorithm.
order : list, optional
When `a` is an array with fields defined, this argument specifies
which fields to compare first, second, etc. Not all fields need be
specified.
Returns
-------
index_array : ndarray, int
Array of indices that sort `a` along the specified axis.
In other words, ``a[index_array]`` yields a sorted `a`.
Examples
--------
One dimensional array:
>>> x = np.array([3, 1, 2])
>>> np.argsort(x)
array([1, 2, 0])
Two-dimensional array:
>>> x = np.array([[0, 3], [2, 2]])
>>> x
array([[0, 3],
[2, 2]])
>>> np.argsort(x, axis=0)
array([[0, 1],
[1, 0]])
>>> np.argsort(x, axis=1)
array([[0, 1],
[0, 1]])
Sorting with keys:
>>> x = np.array([(1, 0), (0, 1)], dtype=[(‘x‘, ‘<i4‘), (‘y‘, ‘<i4‘)])
>>> x
array([(1, 0), (0, 1)],
dtype=[(‘x‘, ‘<i4‘), (‘y‘, ‘<i4‘)])
>>> np.argsort(x, order=(‘x‘,‘y‘))
array([1, 0])
>>> np.argsort(x, order=(‘y‘,‘x‘))
array([0, 1])
python中argsort的使用