Numpy 排序 -- sort()、argsort()
生活随笔
收集整理的這篇文章主要介紹了
Numpy 排序 -- sort()、argsort()
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Numpy 排序 – sort()、argsort()
官方文檔
1、內(nèi)容排序:sort()
函數(shù)原型: 對(duì)數(shù)組本身進(jìn)行排序
numpy.sort(a, axis=-1, kind='quicksort', order=None)參數(shù):
- a:要排序的 numpy 數(shù)組
- axis:排序的維度,默認(rèn)為-1最后一維,None為所有元素拉平后排序
- kind:排序算法,有:‘quicksort’, ‘mergesort’, ‘heapsort’, ‘stable’
- order:多級(jí)排序的順序,需要構(gòu)建一個(gè)field
實(shí)例:
import numpy as np a = np.array([[1,4],[3,1]])# 默認(rèn)按最后一維排序,每行各自排序 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])# 多級(jí)排序 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、下標(biāo)排序:argsort()
函數(shù)原型: 數(shù)組本身不變,返回排序的下標(biāo)數(shù)組
numpy.argsort(a, axis=-1, kind='quicksort', order=None)參數(shù):
- a:要排序的 numpy 數(shù)組
- axis:排序的維度,默認(rèn)為-1最后一維,None為所有元素拉平后排序
- kind:排序算法,有:‘quicksort’, ‘mergesort’, ‘heapsort’, ‘stable’
- order:多級(jí)排序的順序,需要構(gòu)建一個(gè)field
實(shí)例:
import numpy as np# 一維數(shù)組 x = np.array([3, 1, 2]) np.argsort(x) => array([1, 2, 0])# 二維數(shù)組 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]])總結(jié)
以上是生活随笔為你收集整理的Numpy 排序 -- sort()、argsort()的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java核心类库篇5——异常
- 下一篇: PyQt5 笔记7 -- 多个类共享信号