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