Numpy:sort()函数 与 argsort()函数

1 np.sort()函数

np.sort()函数的作用是对给定的数组的元素进行排序。

np.sort(a, axis=-1, kind='quicksort', order=None)
参数含义
a排序的数组
axis排序的方向,None表示展开来排序,默认值为-1,表示沿最后的轴排序。可选有0、1,axis = 1 按行排序, axis = 0 按列排序
kind排序的算法,包含快排'quicksort'、混排'mergesort'、堆排'heapsort', 默认为‘quicksort'
order一个字符串或列表,可以设置按照某个属性进行排序

2 栗子

import numpy as np

a = np.array([[1, 5, 4, 8, 4],
              [2, 4, 7, 1, 5],
              [1, 0, 3, 4, 2]])

a1 = np.sort(a)
a2 = np.sort(a, axis=1)  # 按行排序
a3 = np.sort(a, axis=0)  # 按列排序

print(a1)
print(a2)
print(a3)


# results

[[1 4 4 5 8]
 [1 2 4 5 7]
 [0 1 2 3 4]]

[[1 4 4 5 8]
 [1 2 4 5 7]
 [0 1 2 3 4]]

[[1 0 3 1 2]
 [1 4 4 4 4]
 [2 5 7 8 5]]

参考:

2 np.argsort()函数

numpy.argsort(a, axis=-1, kind='quicksort', order=None)
  • 功能:将矩阵a按照axis排序,并返回排序后的下标
  • 参数:a:输入矩阵, axis:需要排序的维度
  • 返回值:输出排序后的下标

栗子:

import numpy as np
x1 = np.array([3, 1, 2])
print(np.argsort(x1))
# [1 2 0]

# axis=0
#沿着行向下(每列)的元素进行排序
x2 = np.array([[1, 5, 7], [3, 2, 4]])
print("axis=0排序\n",np.argsort(x2, axis=0))
# axis=0排序
#  [[0 1 1]
#  [1 0 0]]

# axis=1
#沿着列向右(每行)的元素进行排序
print("axis=1排序\n",np.argsort(x2, axis=1))
# axis=1排序
#  [[0 1 2]
#  [1 0 2]]
  • np.argsort()[::-1]:降序排序后返回索引值

  • np.argsort()[::1]:升序排序后返回索引值

参考:https://blog.csdn.net/u013555719/article/details/83864122

 

  • 10
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值