赞
踩
1、给定数组
input
- import numpy as np
- a = np.array([[5,4],[3,2],[1,8],[7,9]])
- print(a)
output
- [[5 4]
- [3 2]
- [1 8]
- [7 9]]
2、按照第1轴的第0个元素和第1个元素从小到大排序:竖排
input
- a.sort(axis=0)
- print(a)
output
- [[1 2]
- [3 4]
- [5 8]
- [7 9]]
3.第1轴内部排序,横排
input
- a.sort(axis=1)
- print(a)
output
- [[4 5]
- [2 3]
- [1 8]
- [7 9]]
4.sort没有返回值,会直接改变当前值 "只按照第1轴的第0个元素排序"
input
- index1 = (a[:,0]).sort()
- print(a)
- print(a[index1])
output
- [[1 4]
- [3 2]
- [5 8]
- [7 9]]
-
- [[[1 4]
- [3 2]
- [5 8]
- [7 9]]]
5.argsort的返回值为索引,不会改变当前值 ,按照从大到小的排序索引来排序 , "只按照第1轴的第0个元素排序,但是不会打乱第1轴内部元素"
input
- index1 = (-a[:,0]).argsort()
- print(a)
- print(index1)
- print(a[index1])
output
- [[5 4]
- [3 2]
- [1 8]
- [7 9]]
-
- [3 0 1 2]
-
- [[7 9]
- [5 4]
- [3 2]
- [1 8]]
6.input
- boxes = np.array([[12,48,26,15,0.6],[39,25,9,32,0.8],[54,21,59,10,0.5],[65,28,94,14,0.9]])
- print(boxes)
- _boxes = boxes[(-boxes[:, 4]).argsort()]
- print(_boxes)
output
- [[12. 48. 26. 15. 0.6]
- [39. 25. 9. 32. 0.8]
- [54. 21. 59. 10. 0.5]
- [65. 28. 94. 14. 0.9]]
-
- [[65. 28. 94. 14. 0.9]
- [39. 25. 9. 32. 0.8]
- [12. 48. 26. 15. 0.6]
- [54. 21. 59. 10. 0.5]]
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。