Numpy 排序 -- sort()、argsort()
生活随笔
收集整理的這篇文章主要介紹了
Numpy 排序 -- sort()、argsort()
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Numpy 排序 – sort()、argsort()
官方文檔
1、內容排序:sort()
函數原型: 對數組本身進行排序
numpy.sort(a, axis=-1, kind='quicksort', order=None)參數:
- a:要排序的 numpy 數組
- axis:排序的維度,默認為-1最后一維,None為所有元素拉平后排序
- kind:排序算法,有:‘quicksort’, ‘mergesort’, ‘heapsort’, ‘stable’
- order:多級排序的順序,需要構建一個field
實例:
import numpy as np a = np.array([[1,4],[3,1]])# 默認按最后一維排序,每行各自排序 np.sort(a) => narray([[1, 4],[1, 3]])# 按地1維排序 ,每列各自排序 np.sort(a, axis=0) => narray([[1, 1],[3, 4]])# 所有元素排序 np.sort(a, axis=None) => narray([1, 1, 3, 4])# 多級排序 dtype = [('name', 'S10'), ('height', float), ('age', int)] values = [('Arthur', 1.8, 41), ('Lancelot', 1.9, 38), ('Galahad', 1.7, 38)] a = np.array(values, dtype=dtype) np.sort(a, order='height') => array([('Galahad', 1.7, 38), ('Arthur', 1.8, 41), ('Lancelot', 1.8999999999999999, 38)],dtype=[('name', '|S10'), ('height', '<f8'), ('age', '<i4')])2、下標排序:argsort()
函數原型: 數組本身不變,返回排序的下標數組
numpy.argsort(a, axis=-1, kind='quicksort', order=None)參數:
- a:要排序的 numpy 數組
- axis:排序的維度,默認為-1最后一維,None為所有元素拉平后排序
- kind:排序算法,有:‘quicksort’, ‘mergesort’, ‘heapsort’, ‘stable’
- order:多級排序的順序,需要構建一個field
實例:
import numpy as np# 一維數組 x = np.array([3, 1, 2]) np.argsort(x) => array([1, 2, 0])# 二維數組 x = np.array([[0, 3], [2, 2]])np.argsort(x, axis=0) => array([[0, 1],[1, 0]])np.argsort(x, axis=1) => array([[0, 1],[0, 1]])總結
以上是生活随笔為你收集整理的Numpy 排序 -- sort()、argsort()的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java核心类库篇5——异常
- 下一篇: Java数据库篇8——索引、视图、存储过