1. 概述
Numpy 中的 argsort()简介:将矩阵a按照axis排序,并返回排序后的下标。
numpy.argsort(a, axis=-1, kind=‘quicksort’, order=None)
参数
- a 排序数组
- axis : 整型或空, 可选参数,按照什么方向排序. 默认是-1,二维及以上按照行排列,axis = 0 ,二维及以上按照列排列。
- kind : {‘quicksort’, ‘mergesort’, ‘heapsort’, ‘stable’}, 可选参数,排序算法。
- order : str or list of str, 可选参数
- 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]]
希望能够帮助到大家,有什么问题可以 直接评论即可,喜欢有用的话可以点个赞让更多的人看到,如果不够详细的话也可以说,我会及时回复的。