Python中的numpy.argsort()2024 年 8 月 29 日 | 4 分钟阅读 NumPy模块提供了一个函数argsort(),它返回将对数组进行排序的索引。 NumPy模块提供了一个函数,用于借助关键字指定的算法,沿着给定的轴执行间接排序。该函数返回一个与'a'形状相同的索引数组,该数组将对该数组进行排序。 语法参数以下是numpy.argsort()函数中的参数 a:类似数组 此参数定义要排序的源数组。 axis:int 或 None(可选) 此参数定义执行排序的轴。默认情况下,轴为-1。如果将此参数设置为None,则使用扁平化数组。 kind: {'quicksort','mergesort','heapsort','stable'}(可选) 此参数定义排序算法。默认情况下,该算法是quicksort。mergesort和stable都在底层使用时间排序。实际实现将随数据类型而异。保留mergesort选项是为了向后兼容。 order: str 或 str列表(可选) 如果'a'是具有已定义字段的数组,则此参数指定首先比较哪些字段,第二个比较哪些字段,依此类推。单个字段可以指定为字符串,并且不需要指定所有字段。但是,未指定的字段仍将按照它们在dtype中出现的顺序使用,以打破联系。 返回值: index_array: ndarray, int此函数返回一个索引数组,该数组沿指定轴对'a'进行排序。如果'a'是一维的,则a[index_array]会产生排序后的'a'。更一般地,np.take_along_axis(arr1, index_array, axis=axis) 总是产生排序后的'a',而与维度无关。 示例1: np.argsort()在上面的代码中
在输出中,显示了一个ndarray,其中包含索引(指示排序数组的元素位置)和dtype。 输出 array([456, 11, 63]) array([1, 2, 0], dtype=int64) 示例2: 对于二维数组(沿第一个轴排序(向下))输出 array([[0, 1], [1, 0]], dtype=int64) 示例3: 对于二维数组(axis=0的替代方法)在上面的代码中
在输出中,显示了一个带有排序元素的二维数组。 输出 array([[0, 2], [3, 5]]) 示例4: 对于二维数组(沿最后一个轴排序(横向))输出 array([[0, 1], [1, 0]], dtype=int64) 示例5: 对于二维数组(axis=1的替代方法)输出 array([[0, 2], [3, 5]]) 示例6: 对于N维数组输出 (array([0, 1, 1, 0], dtype=int64), array([0, 1, 0, 1], dtype=int64)) array([0, 2, 3, 5]) 在上面的代码中
在输出中,显示了一个带有排序元素的N维数组。 示例7: 使用键排序输出 array([(0, 5), (3, 2)], dtype=[('x', '<i4'), ('y', '<i4')]) array([0, 1], dtype=int64) array([1, 0], dtype=int64) 在上面的代码中
在输出中,显示了一个排序后的数组,dtype=[('x', '<i4'), ('y', '<i4')] 下一个主题numpy.transpose() |
我们请求您订阅我们的新闻通讯以获取最新更新。