numpy中的排序方法argsort()

1. 概述

Numpy 中的 argsort()简介:将矩阵a按照axis排序,并返回排序后的下标。
numpy.argsort(a, axis=-1, kind=‘quicksort’, order=None)
参数

  1. a 排序数组
  2. axis : 整型或空, 可选参数,按照什么方向排序. 默认是-1,二维及以上按照行排列,axis = 0 ,二维及以上按照列排列。
  3. kind : {‘quicksort’, ‘mergesort’, ‘heapsort’, ‘stable’}, 可选参数,排序算法。
  4. order : str or list of str, 可选参数
  5. order : str or list of str, optionalorder : str or list of str, optional

返回值
返回排序数组的索引数组,沿指定轴对a排序的索引数组。

2. 演示

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# @Time    : 2019/1/10 17:08
# @Author  : Arrow and Bullet
# @FileName: argsort.py
# @Software: PyCharm
# @Blog    :https://blog.csdn.net/qq_41800366

import numpy as np  # 先引入numpy模块

A = [1, 0, 3]  # A是行向量,也称一维数组
B = np.argsort(A)  # 默认axis=-1
print(B)  # 结果 [1 0 2]
# 返回的是A按照从小到大排序的索引值

A = [[2, 4, 1], [3, 1, 5]]  # A是二维数组
B = np.argsort(A)  # 默认axis=-1,二维及以上按照行排列
print(B)  # 结果 [[2 0 1][1 0 2]]

A = [[2, 4, 1], [3, 1, 5]]  # A是二维数组
B = np.argsort(A, axis=0) # 默认axis=0,二维及以上按照列排列
print(B)  # 结果 [[0 1 0][1 0 1]]

希望能够帮助到大家,有什么问题可以 直接评论即可,喜欢有用的话可以点个赞让更多的人看到,如果不够详细的话也可以说,我会及时回复的。

猜你喜欢

转载自blog.csdn.net/qq_41800366/article/details/86245346