np.argsort()函数详细解析

一、np.argsort()用法:

np.argsort(a, axis=-1, kind='quicksort', order=None)

函数功能:将a中的元素从小到大排列,提取其在排列前对应的index(索引)输出。

二、举例:

1、一维数组

先定义一个array数组x,然后使用函数

import numpy as np
x=np.array([1,4,3,-1,6,9])
y=np.argsort(x)
print('一维数组的排序结果:{}'.format(y))

输出结果如下:

一维数组的排序结果:[3 0 2 1 4 5]

中间过程详细解释:
①输入为: [1,4,3,-1,6,9],对应索引为:[0,1,2,3,4,5],即
x[0]=1,x[1]=4,x[2]=3,x[3]=-1,x[4]=6,x[5]=9

②排序结果为: [-1,1,3,4,6,9]
argsort()是提取排序结果元素在排列前对应的index(索引)输出。
根据排序前x[3]=-1可知,排序结果中,元素-1对应排序前的索引3;
根据排序前x[5]=9可知,排序结果中,元素9对应排序前的索引5;
以此类推,输出 排序后元素在排列前对应的index(索引):
即:[3,0,2,1,4,5]

 2、二维数组

x = np.array([[1,5,4],[-1,6,9]])
# [[ 1  5  4]
# [-1  6  9]]

 沿着行向下(每列)的元素进行排序

np.argsort(x,axis=0)
# array([[1, 0, 0],
#        [0, 1, 1]], dtype=int64)

沿着列向右(每行)的元素进行排序

np.argsort(x,axis=1)
# array([[0, 2, 1],
#        [0, 1, 2]], dtype=int64)

参考:Python基本函数:【numpy】np.argsort()函数详细解释运算过程_当一颗恒星的博客-CSDN博客_np.argsort

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值