python笔记-排序函数
生活随笔
收集整理的這篇文章主要介紹了
python笔记-排序函数
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
List排序
- sort()
使用sort()方法對list排序會修改list本身,不會返回新list,通常此方法不如sorted()方便,但是如果你不需要保留原來的list,此方法將更有效sort()。
- sorted()
numpy
1.sort
numpy.sort(a, axis=1, kind=‘quicksort’, order=None)
- a :所需排序的數(shù)組
- axis:數(shù)組排序時的基準(zhǔn),axis=0按行排列;axis=1按列排列
- kind:數(shù)組排序時使用的方法,其中:kind=′quicksort′為快排;kind=′mergesort′為混排;kind=′heapsort′為堆排;
- order:一個字符串或列表,可以設(shè)置按照某個屬性進(jìn)行排序
2.argsort
numpy.argsort(a, axis=1, kind=‘quicksort’, order=None)
- a :所需排序的數(shù)組
- axis:數(shù)組排序時的基準(zhǔn),axis=0按行排列;axis=1按列排列
- kind:數(shù)組排序時使用的方法,其中:kind=′quicksort′為快排;kind=′mergesort′為混排;kind=′heapsort′為堆排;
- order:一個字符串或列表,可以設(shè)置按照某個屬性進(jìn)行排序
numpy.argsort() 返回按值遞增排序后的索引列表
argsort()的應(yīng)用
矩陣特征分解后得到,特征值和特征向量,但是,我們不一定需要所有的特征,故可以選取特征值最大的幾個特征和這些特征對應(yīng)的特征向量。這樣,我們只需要利用argsort()求出最大特征值的索引,有了索引就可以直接提取最大特征值和對應(yīng)的最大特征向量。
def eig_top_k(mat, k):eig_vals, eig_vecs = np.linalg.eig(mat)print(eig_vals)print(eig_vecs)sorted_indices = np.argsort(eig_vals) # 值從小到大排序,返回排序的索引return eig_vals[sorted_indices[:-k-1:-1]], eig_vecs[:,sorted_indices[:-k-1:-1]] # 復(fù)制最后一個到倒數(shù)第k個元素nums = np.array([[1, 7, 9], [3, 6, 7], [4, 3, 5]]) eig_vals, eig_vecs = eig_top_k(nums, 2) print(eig_vals) print(eig_vecs)總結(jié)
以上是生活随笔為你收集整理的python笔记-排序函数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 黄哲铿:妙用“缓存”,应对亿级流量峰值(
- 下一篇: websocket python爬虫_p