zoukankan      html  css  js  c++  java
  • python numpy argsort函数用法

    numpy.argsort

    numpy.argsort(aaxis=-1kind='quicksort'order=None)[source]

    Returns the indices that would sort an array.

    Perform an indirect sort along the given axis using the algorithm specified by the kind keyword. It returns an array of indices of the same shape asa that index data along the given axis in sorted order.

    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.

    See also

    sort
    Describes sorting algorithms used.
    lexsort
    Indirect stable sort with multiple keys.
    ndarray.sort
    Inplace sort.
    argpartition
    Indirect partial sort.

    Notes

    See sort for notes on the different sorting algorithms.

    As of NumPy 1.4.0 argsort works with real/complex arrays containing nan values. The enhanced sort order is documented in sort.

    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])
    作者:100thMountain
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
  • 相关阅读:
    镇中7日做题小结 day2
    镇中7日做题小结 day1
    关于开通luogu博客
    bitset用法和ch2101可达性统计
    离散化 下标与数值的深入理解
    黄题 P2038 无线网络发射器选址 被坑之痛
    最蒟蒻bug,没有之一
    http://www.laomaotao.net/?H4068
    C++设计模式——简单工厂模式
    面向对象的七个基本设计原则
  • 原文地址:https://www.cnblogs.com/100thMountain/p/4719477.html
Copyright © 2011-2022 走看看